Autor: hellc2

  • Google ofrece por fin su Text-to-Speech de forma oficial para desarrolladores

    Google ofrece por fin su Text-to-Speech de forma oficial para desarrolladores

    Hace algún tiempo descubrimos que, utilizando el servicio de traducción de Google, podíamos utilizar el TTS de Google pasando un texto en una URL y Google nos devolvía un archivo de audio que podíamos reproducir en Asterisk. Era un TTS (Text-To-Speech) muy bueno y, utilizando este sistema, gratuito. Desde entonces Google ha ido cambiando este servicio poco a poco, lo que ha requerido que muchos servicios TTS integrados con distintos software tuvieran que ser modificados cuando dejaba de funcionar. Era una especie de hack que permitía tener un TTS profesional de forma prácticamente gratis. El problema era que no había forma oficial de utilizar el TTS de Google, ni pagando, ni sin pagar. Si te gustaba su TTS, solo podías buscar la última manera de obtener el archivo de audio y confiar en que este sistema se mantuviese estable el mayor tiempo posible.

    Un sistema Text To Speech (TTS), es una aplicación que convierte un texto escrito a audio, permitiendo escuchar cualquier texto: un documento, un email o incluso llamar a un número de teléfono y poder escuchar una información que previamente alguien ha escrito.

    Ocho años después, Google por fin publica de forma oficial en su nube Google Cloud, su servicio de TTS aprovechando la integración con un sistema llamado WaveNet que permite crear audio en bruto partiendo de texto gracias a la tecnología DeepMind de aprendizaje automático, lo que permite crear un audio mucho más realista en un tiempo mínimo (apenas 50ms.). El inconveniente es que esta nueva tecnología por el momento únicamente está disponible en Inglés, así que si queremos utilizar el TTS en español tendremos que utilizar el de toda la vida, aunque al menos ya disponemos de una API para facilitarnos la vida a los que programamos.

    No obstante, y como viene siendo habitual, ahora que Google ofrece esta herramienta para integrarlo con nuestros desarrollos, ya tiene un coste: $4 el primer millón de caracteres, por lo que si escribimos un ejemplo en plan:

    Gracias por llamar a EMPRESA, en este momento no podemos atenderle, nuestro horario de atención al cliente es de lunes a jueves de nueve treinta a diecinueve horas y los viernes de nueve treinta a quince horas, deje su mensaje y su teléfono después de oir la señal y nos pondremos en contacto con usted.

    Que son unos 300 caracteres, nos costaría unos $0,0012.

    Seguramente no parezca un precio excesivo si la idea es grabar ese audio en un archivo y poder reproducirlo tantas veces como deseemos, pero suponiendo que queremos personalizar el audio cada vez que llama una persona, tendríamos que generar ese audio en tiempo real por cada llamada, con lo que el precio seguramente algo mayor.

    Por supuesto, si entrar en el ecosistema de Google y su Google Cloud no te interesa, siempre puedes mirar otros sistemas.

    Aquí tenéis el enlace al servicio de Text-to-Speech de Google: https://cloud.google.com/text-to-speech/

     

  • Plantronics compra Polycom

    Plantronics compra Polycom

    Acaba de darse a conocer el acuerdo en el que Plantronics adquiere las participaciones de Polycom por la cantidad de 2.000 millones de dólares.
    De esta manera, Plantronics pasa a ser un nuevo jugador dentro del conjunto de empresas que se dedican al hardware y herramientas software de comunicación.

    Plantronics es bien conocido mundialmente por sus auriculares, tanto recreativos como para negocios, casi podríamos decir que es una de las marcas de auriculares más punteras y que más se preocupan por la calidad de audio y si bien Polycom anunciaba a principios de año que adquiría Obihai, realmente ha sido una sorpresa esta adquisición que seguro traerá cola.

    En estos momentos ni Polycom ni Plantronics han hecho público dicha adquisición en sus respectivas páginas, pero sin duda esta será una de las adquisiciones del año.

    Más información: https://globenewswire.com/news-release/2018/03/28/1454525/0/en/Plantronics-to-Acquire-Polycom-for-2-billion.html

  • Qué son las llamadas fantasmas y cómo evitarlas

    Qué son las llamadas fantasmas y cómo evitarlas

    Seguramente os ha ocurrido alguna vez que vuestro teléfono IP ha empezado a sonar tras recibir una llamada extraña de algún número como «1000» o «101» o similar, en cualquier momento, a horas en las que vuestro servidor SIP está configurado para no dejar pasar más llamadas… Lo primero que uno piensa es que hay algún fallo de seguridad, algo que no debía estar pasando o incluso peor, si tenéis un teléfono IP en casa, es recibir llamadas a las tantas de la madrugada.
    Éstas llamadas se conocen como: «llamadas fantasma» y son totalmente inofensivas, aunque sí que pueden llegar a ser bastante molestas. Vamos a ver qué son, por qué ocurren y cómo se evitan:

    Qué son las llamadas fantasmas

    Antes de empezar: Muchas empresas de telemarketing hacen llamadas utilizando marcadores predictivos, que hacen llamadas a clientes esperando que éste conteste y una vez descuelgue, pasar la llamada al agente correspondiente. Si no hay ningún agente disponible en el momento, la sensación es idéntica a la de una llamada fantasma y ahí poco podríamos hacer salvo poner ese número en la lista negra o esperar un poco antes de colgar para saber quién nos llama, o apuntarnos a la Lista Robinson para evitar que nos molesten con publicidad pero efectivamente, esto no es una llamada fantasma.

    Para entender qué son las llamadas fantasmas, tenemos que saber que, cuando un ordenador establece una comunicación otro, abre un socket que no es más que un puerto que se comunica con otro.

    Vamos a ver un ejemplo básico: Petición HTTP

    Cuando nos conectamos a una página web desde nuestro navegador, un puerto de nuestro sistema se abre para enviar información sobre la página web que queremos visitar y nos conectamos al puerto 80 o 443 del servidor (de ahí que el router del servidor web tenga configurada una opción para enviar todas las peticiones del puerto 80 y 443 al servidor web de la red). Por nuestra parte, el router ve que, desde nuestro ordenador se abre un puerto (uno aleatorio, alto, sin mucha fanfarria) y lo abre durante el tiempo que dure la conexión. Hay que recordar que en HTTP, cada página, cada gráfico, cada archivo JS o CSS son conexiones separadas e independientes, por lo que, por cada página que enlaza a un archivo Javascript, un CSS y una imagen, tendríamos 4 conexiones:

    En este caso, el navegador es quien decide utilizar un puerto «aleatorio» para comenzar la conexión, es lo que se conoce como «puerto local» y como es interesante mantenerlo abierto hasta que se recibe el archivo, se utiliza un puerto local por cada archivo que se desea obtener. (Nota: Esto es así en HTTP1, en HTTP2 funciona diferente).

    En VoIP, al igual el puerto local es seleccionado como aleatorio por el propio navegador, en SIP el puerto local lo controla el teléfono y como es UDP y no tiene que esperar a recibir una petición para enviar otra, ya que todo el tráfico SIP se puede enviar en la misma conexión, únicamente se utiliza el puerto local definido por el teléfono. Por una razón de estándar, cada dispositivo o software SIP debe utilizar el puerto 5060/UDP, de manera que la conexión se pueda hacer directamente conociendo la IP, de manera que si encontramos un dispositivo con el 5060 abierto, debemos entender que entenderá SIP, por lo que si le enviásemos un paquete SIP con un INVITE a ese dispositivo, en teoría, debería empezar a sonar o redirigirla a donde esté configurado para hacerlo.

    Si nuestro teléfono tiene configurada una cuenta en un operador IP o en un servidor SIP remoto es normal que, de vez en cuando, se intercambien paquetes a fin de mantener la conexión (OPTIONS, REGISTER, etc.) y si, por lo que hemos explicado antes, tiene configurado el puerto SIP local con el 5060, nuestro router también abrirá ese puerto para mantener la conexión.

     

    Como podéis ver, en nuestro router también se abre el puerto 5060 para enviar el paquete a nuestro servidor SIP.
    Ahora bien… como también sabréis, existen numerosos bots que escanean Internet completamente buscando sistemas VoIP vulnerables, por lo que en cuestión de minutos pueden tener una lista de todos los ordenadores con el puerto 5060 abierto. Si encuentran una IP externa con ese puerto, intentan enviar un paquete INVITE para comprobar si es vulnerable…

    Por lo que nuestro teléfono recibirá una llamada. Está claro que es completamente inofensiva, ya que nuestro teléfono no puede procesar la llamada más allá del auricular y si descolgamos no escucharemos nada, ya que el bot no envía audio únicamente señalización, pero es bien molesto.

    Cómo evitar las llamadas fantasma

    Para evitarlas, tenemos la forma más sencilla que es entrar en la configuración de nuestro teléfono y modificar el parámetro SIP LOCAL para cambiar el puerto del 5060 a cualquier otro. Esto cambiaría el puerto con el que saldremos (no al que nos vamos a conectar) y de esa manera el bot seguramente no nos detecte y nos ahorraríamos esa molesta llamada.

    Otra posibilidad es activar la opción que tienen algunos teléfonos para evitar recibir INVITES de otros dispositivos que no sean el servidor SIP al que estamos conectados.

    Sea de la forma que sea, las llamadas fantasmas son tan habituales como la propia Voz sobre IP y por lo tanto evitarla está de nuestra mano.

  • Los bots empiezan a atacar a Asterisk

    Los bots empiezan a atacar a Asterisk

    Internet es una jungla, hay quien quiere poner puertas en medio y quien pone alambradas, pero está claro que por muchos firewalls, antivirus, protecciones y leyes se instalen, siempre hay alguien que consigue meter un troyano, un virus, o algún resquicio legal para que tu estancia en Internet no sea tan placentera como esperabas. Si montas un blog, hay cientos de exploits sobre el software que utilizas como servidor web, otros cientos de exploits para la plataforma que utilizas, decenas de exploits para cada uno de los plugins que has instalado y por si fuera poco, además el servidor incluye otros servicios que también son vulnerables y siempre hay alguien intentando explotarla.

    Si pones un servidor VoIP accesible desde el exterior (por la razón que sea) siempre hay quien intenta aprovecharla, no en vano existen bots especializados en atacar sistemas VoIP que buscan puertos SIP (en el 5060 o donde sea), probar cientos de miles de combinaciones de usuarios/contraseñas y en el caso de que exista alguna cuenta desprotegida con una contraseña sencilla o incluso sin contraseña, empieza un ataque mediante llamadas SIP a números internacionales que pondrán a prueba, no solo el rendimiento del sistema de comunicaciones, si no nuestra capacidad y velocidad para darnos cuenta de que estamos siendo atacados y están haciendo llamadas a través de nuestra infraestructura.

    Siempre he dicho que cada fabricante echará la culpa a los productos de la competencia, pero está claro que independientemente de qué software o hardware utilicemos, si ponemos usuarios y contraseñas estándar, vamos a ser atacados tarde o temprano ocasionándonos un gran dolor de cabeza (en el mejor de los casos). Por esta razón, aunque soy de los que defienden que cada protocolo debería funcionar en su puerto (SIP en el 5060), si es cierto que hay que prestar atención a que cada usuario tenga su contraseña bien difícil de adivinar y que no debemos llevarnos las manos a la cabeza ni preocuparnos cuando veamos que un bot intenta registrarse. Cambiar de puerto solo evita ser encontrado de buenas a primeras, pero los bots hacen escaneo de puertos, por lo que el puerto SIP seguirá siendo encontrado tanto si está en el 5060 como si está en el 65535.

    Resulta que los bots no solo atacan al puerto SIP, si no también buscan sistemas vulnerables y para ello hacen también varias pruebas:

    • Comprueban si el servidor SIP tiene un servicio WEB.
    • Comprueban si el servidor WEB tiene ciertas aplicaciones instaladas.
    • Comprueban si las aplicaciones instaladas tienen una versión vulnerable.
    • En caso afirmativo, usan un exploit para, o bien hacer llamadas desde la aplicación, o bien para abrir una puerta con un usuario nuevo y poder hacer llamadas desde ahí.

    Los ataques son cada vez más sofisticados, y por suerte, si estamos medianamente al día en cuanto a las versiones, la probabilidad de que la aprovechen es mínima, pero siempre hay algún exploit más nuevo que no hemos visto, siempre instalamos más aplicaciones de las que deberíamos (y luego no las borramos) y por esta razón los «sipbots» encuentran huecos donde conseguir un suculento bocado.

    Visualizador de ataques en tiempo real http://community.sicherheitstacho.eu/start/main

    Una versión de Elastix antigua, un A2Billing antiguo, un PHPMyAdmin, un WordPress, un …  cualquier aplicación es susceptible de ser vulnerable y abrir la puerta en un momento dado a un ataque. En Alemania, el vicepresidente de seguridad de Deutsche Telekom avisaba del aumento de ataques al puerto 5038 (puerto generalmente utilizado por el servicio AMI -Manager- de Asterisk) y es que es un servicio que puede ser explotable por fuerza bruta similar al que tendríamos abriendo un puerto Telnet a nuestro servidor. Por supuesto es importantísimo no disponer de cuentas «de pruebas», pero lo que los bots buscan son cuentas «comunes» utilizadas por aplicaciones conocidas, aquellas que para que funcionen, por defecto son «stats» y «statspass» o «a2billing» y «changethepass«, o similares. (you know what I mean)

    Siempre he defendido que no hay que ser un paranoico de la seguridad, eso solo nos lleva a consumir un tiempo precioso en vigilar cuando deberíamos invertirlo en avanzar y mejorar, pero también es cierto que hay que ser conscientes en que la seguridad debe venir de la mano de una serie de hábitos básicos como desinstalar una aplicación si no la vamos a utilizar, siempre contraseñas fuertes y mucho cuidado con «las pruebas» que luego se olvidan que están ahí.

  • Disponibles ya la lista de talleres y conferencias de la KamailioWorld 2018

    Disponibles ya la lista de talleres y conferencias de la KamailioWorld 2018


    Como viene siendo habitual, ya han publicado la lista de talleres y conferencias de la KamailioWorld 2018 que tendrá lugar el próximo 15 y 16 de Mayo en el Fraunhofer Forum de Berlín (Alemania).

    La lista de ponentes la podéis ver aquí: https://www.kamailioworld.com/k06/speakers/
    Al igual que la lista de conferencias y talleres: https://www.kamailioworld.com/k06/schedule/

    Os recordamos que el registro está ya disponible.

     

  • Novedades de la IT-Expo 2018

    Novedades de la IT-Expo 2018

    La pasada semana tuvo lugar en Florida la IT-Expo 2018, uno de los eventos sobre VoIP más conocidos tanto por ser uno de los primeros del año (con lo que muchos fabricantes lo utilizan para mostrar las novedades de su portfolio) como por la cantidad de expositores y asistentes que allí se concentran. Este evento está patrocinado por fabricantes como Digium, Sangoma, VTech/Snom, Grandstream, Yealink y otras empresas por lo que ya da pistas de que es un evento orientado a mostrar y dar a conocer productos VoIP más que otra cosa.

    Por supuesto, allí tuvo lugar también la celebración de la AsteriskWorld (un área especial orientada a Asterisk) donde se impartieron conferencias sobre Asterisk y también tuvo lugar una presentación / curso introductorio de FreeSwitch.

    IT-Expo es mundialmente conocido por los productos que allí se exponen y donde tanto WebRTC como la videovigilancia y las redes siguen teniendo su gran protagonismo. No obstante, vamos a ver algunas de las novedades que se han presentado.

    Digium presentó su nueva gama de teléfonos «Serie A» más económica (el teléfono con el precio más bajo no llega a $60) y con una pinta bastante interesante. Se da un aire a Yealink, también tiene cosas de HTek y de Grandstream, pero no parece que sea un rebranding de ninguno de ellos en particular. Aún es muy pronto para saber más detalles, pero a simple vista es atractivo y para ser un teléfono de Digium, no pinta nada mal. Como curiosidad, el modelo A25 incluye una pantalla para los nombres de las teclas BLF (para los nombres, no para los botones) un detalle que me ha gustado pese a que su precio rondaría los $110. Digium ha publicado la información preliminar de sus nuevos teléfonos que se estima empiecen a comercializar a partir del mes que viene.

     

    Sangoma aprovechó la IT-Expo para presentar su nueva adquisición de la que hicieron gala en el stand, continuar mostrando su gama de teléfonos y de paso, el nuevo módulo de extensión de teclado EXP100 para sus teléfonos que aunque tiene una pinta excelente (muy similar al GXP2020EXT de Grandstream).

    Grandstream por su lado, también presentó un producto de videoconferencia muy interesante: el GVC3210, un sistema de videoconferencia UHD 4K que se conecta a un monitor o televisión por HDMI y, al igual que los Sticks que se usan para ver contenido online (Chromecast, Amazon Fire, etc.) éste te permite hacer videoconferencia con otros dispositivos SIP sin ocupar espacio en la mesa y con un sonido HD.

    Además de estos y muchos otros fabricantes y novedades, muchos amigos y conocidos que allí estuvieron junto al resto de empresas, exponiendo, participando, pero sobre todo dando a conocer que la VoIP sigue en auge más que nunca: desarrolladores y profesionales de Asterisk, Issabel, Kamailio, FreeSwitch,… 😉

  • Skype tendrá que reescribirse completamente para solucionar un bug

    Skype tendrá que reescribirse completamente para solucionar un bug

    Un bug, que se encuentra en el core de la aplicación y que permite controlar remotamente el equipo de quien ejecuta el cliente parece ser el motivo por el que Microsoft está reescribiendo completamente dicho cliente de VoIP.

    El investigador de seguridad Stefan Kanthak encontró que el módulo de instalación de actualizaciones es vulnerable a la técnica de DLL hijacking que permite a un atacante ejecutar código malicioso en lugar de la librería correcta. Un atacante podría descargar una librería DLL en un directorio accesible por el usuario y renombrarla en una DLL que exista y que pueda ser utilizada por un usuario del sistema.

    El bug que fue encontrado el pasado mes de septiembre supondrá, no solo un parche ni una revisión de código si no una completa re-escritura del core del programa, por lo que, aunque no tenemos noticias sobre cuando podría salir la nueva versión, no esperamos que sea pronto ya que escribir una aplicación como Skype desde cero.

    Más información: http://www.zdnet.com/article/skype-cannot-fix-security-bug-without-a-massive-code-rewrite/

  • KamailioWorld 2018 abre su periodo de inscripciones

    KamailioWorld 2018 abre su periodo de inscripciones

    Como podéis ver en la web de Eventos de VoIP de 2018, la KamailioWorld se celebrará del 14 al 16 de mayo y tras el anuncio, ya es posible adquirir las entradas para asistir.

    Ya es el sexto año que se celebra este evento que tiene como protagonista a la comunidad de software libre de aplicaciones de comunicaciones y si bien otros años se ha emitido en directo las conferencias, es un momento muy interesante para conocer a muchos profesionales que se dedican al desarrollo y administración de este tipo de aplicaciones.

    Más información: https://www.kamailioworld.com/k06/registration/

     

  • Digium envía emails a los usuarios certificados para actualizar sus títulos dCAA

    Digium envía emails a los usuarios certificados para actualizar sus títulos dCAA

    Digium ha cambiado su plataforma de formación y aprovechando esto, está enviando emails con un enlace para renovar los títulos dCAA (No confundir dCAA con dCAP) a aquellos usuarios que lo hubieran obtenido hace algún tiempo. El enlace lleva a una página donde te informan que tienes que pasar un cuestionario con 60 preguntas de tipo test de las que el 80% deben ser correctas y no hay un tiempo máximo para contestarlas.
    El examen puede hacerse en apenas 20 minutos, si bien al no tener tiempo máximo este puede alargarse todo lo que queráis.

    Extracto del mail que envía Digium para invitarte a actualizar tu certificado.

    El dCAA (Digium Certified Asterisk Administrator) es un certificado personal que otorga Digium de forma gratuita a todos aquellos usuarios que quieran probar sus conocimientos básicos sobre Asterisk a través de un sencillo test de preguntas sobre Asterisk, Telefonía y VoIP a la vez que obtienen un certificado oficial.
    Entre las preguntas la mayor parte son sobre Asterisk general (Asterisk 1.4 y superiores), telefonía y VoIP. No son preguntas trampa, pero está en un perfecto inglés y redactadas de forma que pueden llegar a confundir un poco, así que es recomendable tener un traductor a mano por si las moscas.

    Una vez aprobado dicho cuestionario, Digium te enviará el certificado a tu correo electrónico además de poder descargarlo inmediatamente de su página web.

    Para obtener el dCAA, solo tienes que apuntarte en la página: https://www.digium.com/training/asterisk/certifications/dcaa

    Una vez tengas el certificado, ya como veas, puedes borrarlo, guardar el PDF o incluso imprimirlo y colgarlo de la pared. xD

  • Aprendiendo a aprender

    Aprendiendo a aprender

    Te dedique a lo que te dediques (y entendemos que si visitas habitualmente Sinologic.net es debido a que te sueles dedicar a alguna rama de la tecnología), te habrás dado cuenta que es muy interesante estar al día en cualquier materia que te interese, ya sea por los medios de comunicación, blogs, foros, chats o entre compañeros, muchos de los temas recurrentes son las últimas novedades en este o aquel campo, motivo por el cual nos permite estar al día (o lo más cerca) de lo último en este u otro campo. Si te gustan los móviles, seguramente estés suscrito o visites varias páginas donde se comenten las últimas novedades, rumores y noticias sobre los últimos móviles que van a salir, de la misma manera si te gusta la VoIP, seguramente estés suscrito a ciertas páginas webs, y sigas a determinadas personas y páginas en sus redes sociales para estar más o menos al día de lo que se mueve en este campo.

    El mundo de las nuevas tecnologías (voy a llamar así a los campos y áreas de la Informática y las Telecomunicaciones), a diferencia de otras especialidades (como psicología, derecho, historia, etc.) no sigue una evolución lineal, si no exponencial. Por ejemplo, si bien en 1960 apenas existían 5 ó 6 lenguajes de programación, entre los nuevos lenguajes que han aparecido, y los diferentes «forks» que han ocurrido de los existentes, hoy día es difícil tener una lista medianamente actualizada de todos los lenguajes de programación que podríamos escoger de cara a desarrollar algo serio. El número de lenguajes crece de forma exponencial mientras hayan personas que los utilicen.

    Infografía de los principales lenguajes de programación desde 1950 hasta 2004.

    Esto hace que todos y cada uno de nosotros tenga la necesidad/obligación de aprender constantemente, aprender no solo lo que nos gusta, si no también de lo que trabajamos, de lo que hablamos, de lo que tocamos y de lo que somos expertos. No nos vale con «haber aprendido», tenemos que mantener el ritmo de aprendizaje mientras nuestro cerebro nos lo permita, y mantenerlo «ejercitado» dándole de comer conocimiento a medida que vamos «desterrando» aquella información que ya nos nos interese almacenar (a veces es más difícil olvidar que aprender). Hay que hacer este tipo de ejercicios porque uno o dos años apartado de cierta área significa el abandono completo y retomarla podría significar (en según qué áreas) empezar prácticamente de cero. De ahí la importancia de conocer algún método que te permita aprender un nuevo área en el menor tiempo posible para poder retomar «la cima de la ola».

    Primer paso: El libro.

    En cualquier carrera técnica como ingeniería, lo primero que hacen en cualquier asignatura es proveerte de una lista de libros de consulta. Esto es porque un libro te va a «amueblar» la cabeza para el nuevo concepto que quieras aprender. El libro no tiene porqué ser en papel, puede ser electrónico, pdf o como prefieras, lo importante es lo que transmite, no el medio. ¿Y por qué un libro?. El libro tiene varias características importantes:

    1. Es lo suficientemente extenso como para albergar toda la información importante e imprescindible de ese tema.
    2. Al ser un documento escrito, puedes tomarte todas las pausas necesarias para que tu cerebro procese esa información.
    3. El lector puede consultar cualquier punto del libro en caso de que quiera «recordar» algo que se le esté olvidando.

    Por esta razón, una de las primeras formas de aprender algo, es comprar un buen libro y leerlo, desde el principio, hasta el final.

    Una vez hecho esto, el aprendiz tiene en su cabeza conceptos básicos. Si ha hecho ejercicios propuestos en el libro, además lo habrá practicado y habrá adquirido entre un 30 y un 50% de lo que haya puesto en práctica, de ahí que sea tan importante continuar con el aprendizaje porque en este momento tendremos una falsa sensación de que sabemos más de lo que realmente sabemos y, aunque estamos preparados para ponernos en marcha y trabajar sobre lo aprendido, tenemos que ser conscientes que aún nos falta un poco más para llegar al nivel que necesitamos.

    Segundo paso: Seguir Tutoriales.

    En este momento ya deberíamos empezar a plantearnos nuestro primer proyectos, cosas sencillas, cosas que podamos llegar a hacer y que asiente la información que hemos adquirido en el primer paso. A medida que empecemos a desarrollar dicho proyecto, nos daremos cuenta que nos falta información, que el proyecto parecía algo más sencillo en un principio pero necesitamos conocer cómo llegar a hacer ciertas cosas. Este es el momento de tomar dos posibles caminos:

    1. Buscar tutoriales, blogs y páginas donde expliquen cómo hacer ciertas cosas desde un punto de vista de la experiencia que complementen lo que hemos aprendido del libro.
    2. Apuntarnos a un curso que nos enseñe de primera mano y en un tiempo mínimo, toda la información que vamos a necesitar para llevar a cabo nuestro proyecto.

    Ambos puntos no son excluyentes, seguramente la idea de asistir a un curso pueda ser un primer paso necesario e importante, pero eso no quita que tendrás que buscar información y tutoriales donde expliquen cómo hacer aquello que necesitas para llevar a cabo tu proyecto.

    Considero un error sustituir el libro por el curso, ya que un curso suele servir para «acelerar» la formación, pero no para iniciarla. Fíjese en que he comentado que el libro sirve para «amueblar» la cabeza, y esto es un paso imprescindible para adquirir cualquier nueva información. El cerebro es un órgano muy complejo, del que conocemos muy poco, pero de lo poco que sabemos es que hace falta darle tiempo para poder aprender cosas nuevas.

    Un tutorial suele ser un artículo de un blog, un PDF donde se explique cómo hacer algo. Un paso a paso donde se definan, no solo los pasos si no también el motivo de cada uno de ellos. Esa es la principal diferencia de un tutorial y un ejemplo. En el tutorial, si lo seguimos entero (desde principio hasta el final sin saltarnos ningún paso) llegaremos a un objetivo que es lo que veníamos buscando en un principio. Solo para aclarar, un comentario de StackOverflow no es un tutorial.

    Tercer paso: Buscar Ejemplos

    Una vez hayamos seguido varios tutoriales y hayamos empezado a avanzar en nuestro proyecto, nos daremos cuenta que para continuar, necesitamos ciertas respuestas a preguntas rápidas, es el momento de buscar ejemplos. Estos se encuentran en muchos sitios: Foros, Web de consulta (ahora si, StackOverflow, Github, …), salas de chat o incluso algún comentario de twitter o facebook. En este tercer paso, donde realmente se aprende es viendo el código de otras personas, asistiendo a conferencias y hablando con otros profesionales, aquí no únicamente vamos a responder nuestras dudas (que ya no serán dudas triviales) y además conseguiremos información de primera mano de personas que se han peleado en las mismas batallas en la que estás tú en este momento, además de conseguir una fuente super-valiosa de personas a las que le interesa lo mismo que a ti y que, en un momento dado, podrían ayudarte o trabajar contigo.

    Cualquier código (por pequeño que sea), configuración o respuesta es un buen material que nos ayudará a perfilar el conocimiento adquirido y a prepararnos para la cima de la ola.

    Cuarto paso: Mantenerse en la ola

    Ya hemos visto que lo primero que hay que tener para empezar a aprender, es voluntad de aprender. El esfuerzo para aprender algo es importante, de ahí que debe ser algo que merezca la pena, ya sea porque te gusta, porque trabajes en eso, o bien porque lo necesites como camino para aprender algo, ya que hay ciertas áreas que requieren de conocimientos que hay que adquirir previamente.

    Hay ciertas áreas que requieren de leer más libros, quizá menos tutoriales y más prácticas, o incluso hay campos en los que apenas vamos a poder encontrar tutoriales ni ejemplos y apenas unos pocos libros bastante introductorios, ese campo por lo general está poco desarrollado y «la cima de la ola» seguramente se encuentre más accesible.

    Aunque parezca mucho esfuerzo (leer libros, buscar proyectos, seguir tutoriales, …) realmente no lo es si hemos seleccionado lo que queremos aprender con pasión, ya que con pasión, cualquier cuesta es menos pronunciada y además, con voluntad y ganas, incluso cualquier curva de aprendizaje, puede realmente ser un bello camino que recorrer, y es que lo bonito de aprender, no solo está en adquirir el conocimiento, si no disfrutar haciéndolo.