Author: Cesar Villegas

Pyenv para tener distintas versiones de Python

Python Cuando programas en Python es común que hagas uso de muchas librerías y en algún momento necesites una versión muy específica de Python para tu desarrollo. Muchos de estos problemas se pueden solucionar con Docker, sin embargo, no siempre podemos encontrar exactamente lo que buscamos o resulta complicado construirlo si no tenemos una buena base sobre lo que es contenedores.

En algunas distribuciones de Linux es común que tengas instaladas 2 versiones de Python, una de la rama 2.x que por cierto ya va quedando obsoleta y otra versión de la rama 3.x, para descubrir que versión de Python tenemos ejecutamos:
python --version
o
python3 --version

En mi caso estoy corriendo Centos8 y tengo la versión 3.6.8

Pyenv es un programa que nos permite poder instalar distintas versiones de Python y decidir qué versión específica queremos usar en cualquier momento, asi que el primer paso es instalar pyenv, el proceso es bastante sencillo:
git clone https://github.com/pyenv/pyenv.git ~/.pyenv

Con eso se instalará pyenv en tu home directory, ahora tendrás que añadir unas líneas a tu archivo .bashrc que sirven para aumentar una ruta a tu path y activar pyenv cada vez que inicies una nueva sesión.
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n eval "$(pyenv init -)"\nfi' >> ~/.bashrc

Con estos pasos tendremos pyenv funcionando, puedes verificar la versión instalada ejecutando
pyenv version

Para ver todas las versiones de Python y programas accesorios (anaconda, stackless, miniconda, etc etc) que puedes instalar ejecutas
pyenv install --list | more

Para nuestro ejemplo vamos a instalar una versióm de Python2 y una de Python3, antes de empezar con la instalación hay un paso muy importante que es asegurarse de que tu distribución tiene instalado todo lo necesario para compilar desde fuentes, hablamos de tener gcc, make, etc etc.

Si usas Ubuntu, Debian o derivados ejecuta:

sudo apt-get install -y make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev \
libncursesw5-dev xz-utils tk-dev libffi-dev liblzma-dev python-openssl

Si usas RedHat/Centos/Fedora o derivados ejecuta:
sudo yum groupinstall "Development Tools"
sudo yum install zlib-devel bzip2 bzip2-devel readline-devel sqlite \
sqlite-devel openssl-devel xz xz-devel libffi-devel

Con esto debería ser suficiente para instalar cualquier versión de python, empezaremos con la versión 2.7.9
pyenv install 2.7.9

Una vez que se descargue el código fuente de nuestra versión se compilará en nuestra PC, esto puede tardar un poco dependiendo de la potencia que tengas. Cuando termine puedes verificar que se instalo con el comando
pyenv versions

Eso te mostrará todas las versiones de python instaladas, otra forma de verificar es observando el contenido de nuestro directorio versions en nuestro home directory
ls ~/.pyenv/versions/

Eso significa que para desinstalar alguna versión bastaría con remover el directorio que le corresponde con un rm, pero prefiero usar pyenv para ese propósito
pyenv uninstall 2.7.9

Ahora voy a instalar la última versión de Python disponible, al momento de escribir este post era la versión 3.8.3
pyenv install 3.8.3

Si todo sale bien debes tener como mínimo 2 versiones de Python, en mi caso
$ pyenv versions
* system
2.7.9
3.8.3

El asterisco señala la versión activa de python, en mi caso es la 3.6.8 que viene por defecto en el sistema, para cambiar la versión activa sólo debes ejecutar:
$pyenv global 3.8.3
system
2.7.9
* 3.8.3

Si quieres probar el shell interactivo de alguna versión de python que tengas instalada debes ejecutar:
pyenv shell 2.7.9

Virtual Enviroments
Una vez resuelto el tema de manejar las distintas versiones de Python ahora viene otra parte importante que es manejar los virtual enviroments, hay varias formas de hacerlas, yo recomiendo instalar un plugin de pyenv que sirve especificamente para este propósito: pyenv-virtualenv

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv

De forma opcional pero recomendada, ejecutamos el siguiente comando que lo que hace es agregar una línea a tu archivo .bash_profile que hará que tengas el plugin disponible en todo momento.
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

Para crear un entorno virtual que se llame “proyecto1” con la versión 3.8.3 de python ejecutamos
pyenv virtualenv 3.8.3 proyecto1

Si no especificas la versión de Python se creará el entorno con la versión por defecto
pyenv virtualenv proyecto2

Para ver la lista de entornos virtuales ejecutas:
pyenv virtualenvs

Para activar un entorno virtual
pyenv activate proyecto1

Para desactivar un entorno virtual
pyenv deactivate

Para borrar un entorno virtual
pyenv virtualenv-delete proyecto2

¿Bastante fácil verdad?

He cubierto sólo lo básico para empezar, puedes hacer muchas cosas más, espero que te haya sido de utilidad! Happy hacking 🙂

Hacking Games: como iniciarte en el mundo del hacking y la ciberseguridad de forma divertida

Hacker logo El mundo del hacking y la ciberseguridad siempre me ha parecido fascinante, parte de mi trabajo como Sysadmin ha sido proteger a mis servidores de los innumerables ataques que se reciben todos los días. Sin embargo, mucha gente tiene una idea bastante errada de lo que es ser un hacker, siempre se asocia la palabra hacker con algo negativo por culpa de la prensa. En la escena hacker siempre rechazan esto y prefieren usar términos como cracker o blackhat para referirse a aquellas personas que utilizan sus habilidades informáticas para obtener algun beneficio (usualmente económico) o fastidiar a otros.

Si te interesa el mundo de la ciberseguridad hoy tienes innumerables herramientas para empezar, ser hacker no se reduce a bajarse Kali Linux o Parrot y usar Metasploit, hay mucho más allá, si quieres aprender de hacking en serio lo ideal es que construyas tus propias herramientas o que entiendas bien que hace cada herramienta que vas a usar.

Una buena forma de iniciarse es aprender y dominar lo mejor que puedas un sistema operativo, yo te recomiendo Linux pero honestamente puede ser cualquiera. En este post lo que haré es recomendarte algunos sitios que te ayudaran a probar tus habilidades yendo desde lo más simple hasta lo más sofisticado. Lo mejor de todo es que todo es absolutamente legal, no te meterás en problemas.

Los hacking games son como su nombre indica juegos que retaran tus conocimientos, el objetivo de todos estos juegos es conseguir acceso a otras computadoras aprovechandose de algun fallo o vulnerabilidad, una vez dentro existen muchas posibilidades, normalmente el objetivo es encontrar una clave escondida dentro de un archivo que solo podrás leer si consigues acceso como root/admin y esa clave te permitirá avanzar hacia el siguiente nivel.

Lo genial es que podrás probar todo esto escenarios bastante realistas en ambientes controlados, no vas a malograr nada y no tendras al FBI pateando la puerta de tu casa para arrestarte 😉

Vamos con la lista:

  • Over the Wire – Wargames: Esta es mi recomendación para los novatos, es una colección de juegos que van desde lo realmente sencillo hasta lo más complicado, de hecho el primero juego que recomiendo es Bandit porque es realmente muy fácil y entretenido, los primeros niveles del juego básicamente sirve para repasar el uso de comandos básicos de un sistema Linux, si no puedes con estos comandos entonces aún no estas preparado para el hacking, pero no te desanimes, cada nivel te dice que comandos puedes utilizar para resolver el problema e incluso te recomienda material de lectura para que aprendas como solucionar el reto.

    La mecánica de Bandit es muy simple, te conectarás por ssh a un servidor con el usuario bandit0 para el nivel0, cuando estes dentro tienes que descubrir un password que servirá para el siguiente nivel, eso quiere decir que cuando descubras el password lo usarás para volver a conectarte pero esta vez con el usuario bandit1, en ese nuevo ambiente habrá otro password que servirá para conectarte con el usuario bandit2 y asi sucesivamente. Es realmente divertido y los primeros niveles son realmente sencillos.

    Cuando superes Bandit podrás continuar con el resto de Wargames, hay un orden sugerido que representa el grado de dificultad, vas a pasar un buen rato terminando estos juegos pero aprenderás o reforzarás tus conocimientos de una forma divertida.

  • Try2Hack: Este es uno de los hacking gaming mas antiguos que conozco y que permanece en actividad, los primeros niveles son fáciles y basta con revisar el código fuente para ir descubriendo como solucionarlos, pero a medida que avanzas las cosas se van poniendo difíciles. Para avanzar tienes que descubrir los passwords y los URLs del siguiente nivel.

  • Hack This Site: Al igual que sus predecesores este sitio también tienen retos que van desde los muy sencillos hasta los más complicados, para poder acceder a los retos tienes que registrarte. La mécanica es muy parecida a Try2Hack pero una vez que superas los retos iniciales tienes la posibilidad de acceder a retos mas desafientes y especializados, asi por ejemplo hay retos específicos para apps, otras para programación, otros de sólo Javascript. Está muy bueno y tiene una comunidad bastante activa que puede ayudarte si te quedas atorado en algún reto.

  • Vulnhub: Aquí las cosas se van poniendo mas serias, VulnHub ofrece máquinas virtuales (virtual machines o VMs) que tienen vulnerabilidades y que tú debes descubrir por tu cuenta. Para poder empezar tienes que usar un software de virtualización como Virtualbox o VMware player que son gratis y que te permitirán instalar estas VMs y practicar en un ambiente controlado y que se asemeja totalmente al mundo real.

    Una vez que tengas tu software de virtualización puedes descargar las imágenes de las VMs y empezar a practicar, este es uno de los sitios recomendados por la gente que se dedica a la seguridad en serio, yo he tenido oportunidad de probar un par de VMs de las consideradas sencillas y realmente no lo fueron para mi.

  • Hack the Box : Este es el sitio que descubrí hace poco y donde recién hace muy poquito me animé a crearme un usuario, a pesar de ser totalmente nuevo y haber probado sólo un par de desafios tengo que decir que es mi sitio favorito para poner en práctica técnicas de pentesting. Hack The Box es un portal que te permite conectar a través de una conexión VPN a una red donde encontrarás otras computadoras que debes atacar, cuando logres el acceso tendrás que escalar privilegios y cuando seas root/admin encontrarás un flag que es una cadena de texto que sirve para demostrar que logrates el objetivo, este cadena la registras en tu perfil y vas sumando puntos.

    Eso quiere decir que hay una competencia y se asemeja muchísimo a cualquier videojuego, la competencia es durísima y cada cierto tiempo se ponen a disposición nuevas máquinas para ser vulneradas, puedes formar equipos y obtener más puntos por ser los primeros en encontrar el flag de cada máquina nueva. A medida que pasa el tiempo las máquinas antiguas quedan archivadas y ya no son accesibles a menos que pagues por un acceso VIP que te da como beneficio el acceso a todas las máquinas entre otras cosas.

    En las próximas semanas voy a dedicar unas cuantas horas a resolver como ingresar a algunas máquinas disponibles de forma gratuita y quizás me anime a comentar mis experiencias 😉

Hay muchos lugares más donde se puede practicar, pero algunos son de pago o simplemente no los conozco, espero les sea de utilidad y me comenten si conocen sitios similares que puedan recomendar. Happy Hacking 🙂

tput para mejorar tus scripts en bash

bash
Cuando escribes scripts en bash acostumbras a hacerlo todo simple, sin embargo hay ocasiones en las cuales quieres tener un mayor control de la salida del programa. Una de las herramientas que sirve para este propósito es tput que viene por defecto instalado con ncurses, en muchas distribuciones ncurses viene instalado por defecto, asi que no debería ser problema.

La idea de usar tput es poder controlar de una forma sencilla distintos aspectos de tu terminal y hacer algunas cosas divertidas como dar formato y poner texto en negritas o de colores por citar un ejemplo, a continuación daré una lista de usos para tput que para mí resultaron especialmente útiles.

Limpiar pantalla
# tput clear
ejemplo:
echo "Este mensaje no lo veras"; tput clear; echo "Este mensaje si lo veras"

Para saber el número total de líneas que tiene tu consola actual
# tput lines

Para sabe el número total de columnas
# tput cols

Mover el cursor a una posición específica
# tput cup 15 20

Para poner un mensaje en negrita
# tput bold
ejemplo:
tput bold; echo "mensaje en negrita"

Para saber cuántos colores soporta tu consola usamos
# tput colors

Usar colores para el texto y el fondo, este me gusta bastante porque te evita tener que usar secuencias de escape ANSI.
Para poner texto de color rojo usamos
# tput setaf 1

Para poner background de color verde usamos
# tput setab 2

Les dejo 2 scripts para que vean la lista de colores básicos 🙂
for i in `seq 1 7`; do tput setaf $i; echo "Este es el color $i"; done

for i in `seq 1 7`; do tput setab $i; echo "Este es el color $i"; done

Si quieres usar más colores entonces vas a tener que especificarlo ejecutando
export TERM=xterm-256color ; reset

Si vuelves a ejecutar tput verás que ahora ya tienes soporte para 256 colores
# tput colors

Hint: cambia el script que puse arriba y en vez de 7 ponle 255 para que tengas toda la lista de colores

Si quieren ocultar el cursor pueden ejecutar
# tput civis

Para volver el cursor a su estado normal
# tput cnorm

AHora veremos unas funciones de formato, si por algún motivo quieren quitar el formato
# tput sgr0

Un reseteo general de toda la consola se hace con reset
# tput reset

Para subrayar texto
# tput smul

Para quitar subrayado
# tput rmul
ejemplo
tput smul; echo "texto subrayado"; tput rmul

Para hacer que el texto tintilee (blink)
# tput blink
ejemplo
tput blink; echo "blink blink blink"

No se olviden de # tput sgr0 para quitar el blink

Finalmente les dejo el enlace con algunos scripts de ejemplo hechos en bash

https://github.com/cvillegas/bash

Espero que les sea de utilidad 🙂

Trabajo Remoto: primeros pasos y herramientas básicas para poder lograrlo

Debido a la coyuntura actual mucha gente se ha visto forzada a trabajar de forma remota, a continuación una lista de los programas más importantes que pueden ayudar a que el trabajo remoto sea más sencillo.

Herramientas de Conectividad

    VPN : VPN son las siglas de Virtual Private Network, o red privada virtual. Una conexión VPN lo que te permite es crear una red local sin necesidad que sus integrantes estén físicamente conectados entre sí, sino a través de Internet. Si tienen un servidor de VPN en su oficina este permitirá que se comuniquen con todos los sistemas de la oficina sin importar donde se encuentren fisicamente, lo cual es perfecto si es que les toca trabajar desde casa.

    Esta es quizás la herramienta más importante a implementar previo al trabajo remoto, porque permite una forma segura y eficiente de comunicar a los empleados con los sistemas de la empresa.

    SSH : Viene instalada por defecto en todas las computadoras con Linux y MacOs permite conectarse a través de una consola de texto a servidores remotos.

    VNC / TeamViewer / https://www.logmein.com/ : Herramientas de conexión remota pero que permite trabajar en entorno gráfico, pueden tomar control de la otra computadora de una manera sencilla, ideal para dar soporte técnico,indicar como ejecutar una determinada tarea o simplemente manejar otra computadora de forma remota.

    Chrome Remote Desktop: Este es un producto genial de Google que al igual que las herramientas anteriores permite controlar una PC remota utilizando el navegador Chrome, solo tienen que instalar la extensión en ambas computadoras y listo.

Herramientas de Comunicación

    Slack / Mattermost / Flock / Discord Estas herramientas fueron especialmente diseñadas para la comunicación entre un gran número de personas, se puede tener canales abiertos y privados, las conversaciones pueden ser enriquecidas con el intercambio de archivos y un orden que no se encuentra en otras aplicaciones como Whatsapp, qué es muy usada pero que no sirve cuando necesitas hacer coordinaciones con grupos de personas que no son pequeños.

    Slack, Mattermost y Flock son muy parecidas y tienen una excelente integración con otras herramientas, Discord fué diseñado específicamente para el mundo del gaming.

    Todas tienen capacidades adicionales como permitir comunicaciones por audio, pero sin duda su fuerte es el texto.

Herramientas para Conferencias

    Skype / Google Hangouts / Zoom / Microsoft Teams / Jitsi: Todas estas herramientas permiten hacer llamadas de audio y videoconferencia, además de permitir compartir pantalla, lo cual es especialmente útil cuando se trabaja en equipo. Hay muchas alternativas pero estoy recomendando las más conocidas, todas tienen versiones gratis y versiones enterprise, pero con lo que se nos dá gratis basta y sobra para la mayoría.

Herramientas para Organización

    Google Calendar: Probablemente una de las herramientas más utilizadas por todos sea un calendario, el calendario de Google es uno de sus mejores productos y es totalmente gratis, funciona y se sincroniza sin ningún tanto en la web como en tu celular.

    Trello: Si eres de las personas que estan acostumbradas a anotar sus tareas/objetivos en post-it o pizarras Trello es lo que estabas buscando, tiene la misma funcionalidad pero totalmente online, puedes entrar a la web o usarla en tu celular bajando la app, lo mejor de todo es que todo se puede compartir, asi que ayuda mucho para la organización de tareas en grupos. Y es gratis 🙂

    Basecamp / Monday / Asana: Si necesitas un manejo más detallado de tus proyectos entonces puedes usar alguna de estas herramientas online que fueron específicamente desarrolladas para eso, todas tienen versiones gratis y versiones de pago, les recomiendo probar todas las que puedan hasta encontrar la que se ajuste mejor a sus necesidades, y si las cosas van bien podrían pensar en pagar porque realmente otorgan muy buenas características en sus versiones de pago.

Otras Herramientas

    Evernote / Google Keep: Estas herramientas son ideales para tomar apuntes, ya sea en texto, imágenes, audio. Ambas tienen versiones web y con app para celular. También son gratis!

    Pocket: Esta es una herramienta específica del navegador Firefox y sirve para capturar todo tipo de contenido web, es especialmente útil cuando encuentras algo y quieres guardarlo para leerlo después o porque simplemente es importante y deseas conservarlo. A diferencia de los bookmarks/favoritos/marcadores no se guarda sólo el URL sino el contenido. Y es gratis.

    Scan Bot Si tienes que escanear un documento y no tienes scaner en casa entonces puedes usar esta app que usa la cámara de tu celular para escanear cualquier tipo de documento, el documento se puede guardar en muchos formatos distintos y hace muy fácil la labor de compartirlo por internet. Hay versiones para Android e Iphone.

Este post es complementario a una charla en vivo que dí por YouTube y que pueden ver aquí:

Mis series favoritas del 2019

El 2019 fué un año increíble y se produjo tanto contenido que resulta imposible ver todas las series que ofrece la TV y las plataformas de streaming, hay que tener mucho cuidado con lo que se vé porque si bien hay demasiadas series, no todas son buenas y el tiempo que uno invierte en verlas es cada vez más valioso.

Dicho esto haré un listado de las series que he visto en el 2019 bajo 2 premisas: Tiene que ser una serie nueva o una serie que yo recién haya empezado a ver. Obviamente todo esto bajo mi humilde punto de vista 🙂

Sin más les dejo mi lista de series favoritas del 2019

When they see us (Netflix)
Basado en un hecho real narra la historia de un famoso caso de racismo denominado “Los 5 de Central Park”. 5 muchachos negros menores de edad se ven involucrados en un caso de violación. La historia es muy fuerte y es una dura crítica al racismo, es desgarrador ver como se arruina la vida de unos chicos por culpa del racismo y la corrupción de la policía.

The Spy (Netflix)
Serie protagonizada por Sasha Baron Cohen, si, el mismo de Borat, me sorprendió verlo en un papel totalmente distinto y debo decir que su actuación es increíble, es una serie de espías ambientada los años 60s durante el conflicto entre Israel y Siria, son sólo 6 episodios pero vale totalmente la pena.

Kingdom (Netflix)
Esta es una serie que me sorprendió gratamente porque no tenía ni idea de qué se trataba cuando me puse a verla, está ambientada en un período medioeval en un país asiático. El reino ha sido atacado por una misteriosa plaga y el príncipe heredero inicia una búsqueda para entender que está pasando mientras también debe lidiar con una posible usurpación del trono.

The Boyz (Amazon Prime)
Serie de superhéroes pero que rompe el molde de lo convencional, porque estos héroes han sido seleccionados y tienen una vida de superestrellas en un mundo dónde hay gente con poderes pero no todos llegan al estatus de superhéroes. Me gustó mucho porque es una clara muestra de cómo el poder y la fama corrompen.

The Marvelous Mrs Maisel (Amazon Prime)
Ambientada en EEUU de los años 50 tiene como protagonista a Midge, una joven mujer judía tradicional que está casada y tiene la familia “perfecta”, sin embargo, ella tiene otras inquietudes, es la esposa perfecta y hace de todo para complacer a su marido, pero este la engaña y fracasa en su intento de ser comediante. Es durante todo este problema que ella descubre un talento particular y poco convencional para una mujer en esas épocas, ser comediante de stand-up.

Fleabag (Amazon Prime)
Quedé sorprendido por la gran cantidad de premios que ganó esta serie en el 2019 así que decidí verla y fué una excelente decisión, la protagonista es una treinteañera que vive en Londres, tiene problemas con sus relaciones amorosas, familiaries e incluso en su negocio. Es una persona bastante particular y desenfadada, su personalidad hace que lleve una vida bastante conflictiva y que se aleja bastante de las típicas vidas idealizadas que se muestran en este tipo de series.

Chernobyl (HBO)
Probablemente la mejor serie que ví el 2019, son solamente 5 episodios pero son suficientes para mostrar el horror del desastre nuclear más famoso de la historia, una gran producción y actuaciones excepcionales. No diría que hay solo protagonista porque se cuentan varias historias y se muestran varios perfiles de personajes que son muy importantes en el desarrollo de la historia.

Fauda (Netflix)
Serie extranjera ambientada en Israel que cuenta la historia de un agente de inteligencia y su cacería de terroristas, estamos tan acostumbrados a las series estadounidenses que ver series extranjeras siempre se me antoja tener otra visión y muchas veces da buen resultado, esta serie me gustó mucho por la forma en que se afrontan distintas situaciones, especialmente algunas que pueden tener serias implicancias morales.

No puedo dejar de mencionar grandes series que tuvieron su fin en el 2019:
Game of Thrones: si bien la última temporada fué mala en comparación a las anteriores no puedo negar que me tuvo pegado domingo a domingo.
Orange is the New Black: que considero que la alargaron innecesariamente y el final no fué satisfactorio.

Aprendiendo online: Mi experiencia con PLATZI

En mi anterior post mencioné mi experiencia aprendiendo online con Udemy, ahora les quiero contar mi experiencia con otra plataforma en la que he invertido una buena cantidad de horas, me refiero a Platzi.

Conozco a Platzi desde sus inicios como Mejorando.la, es un emprendimiento hecho por 2 jóvenes latinoamericanos: Christian Van Der Henst y Freddy Vega, a ambos los conozco hace años porque este no es su primer proyecto, a Christian lo conozco desde que creó Maestros del Web porque participé activamente en Foros del Web especialmente en la sección de Linux, pero esa es otra historia, vamos a lo importante, analizar Platzi!!


Platzi es una plataforma de educación online, hasta donde sé es la más grande de habla hispana o por lo menos la más popular, tiene más de 700 mil estudiantes y al ser de habla hispana sin duda el grueso de los estudiantes son latinoamericanos y españoles.

Hace un año decidí pagar por la subscripción de 1 año, como dije antes, sabía de la existencia de Platzi desde sus inicios y sé que tuvieron algunos problemas al principio, pero poco a poco fueron mejorando y miraba como la oferta de cursos crecía y se diversificaba, asi que decidí probarla.

Costos
Platzi funciona con un modelo basado en subscripción, a diferencia de Udemy que por ejemplo te cobra por cada curso, aquí te suscribes y tienes acceso a todos los cursos, te ofrecen la opción de una subscripción anual en la que haces un solo pago, o tienes la opción de pagar mensualmente. Hay ciertas diferencias entre un modelo y otro.

El costo anual es de casi 300 dólares ( 1000 Soles aproximadamente)
El pago mensual es de 39 dólares (131 soles aproximadamente)
Tienen una opción de comprar un solo curso por 99 dólares pero no lo recomiendo.

Ahora mismo tienen una promoción por Navidad que podrías aprovechar para pagar menos 😉

A simple vista puede parecer caro, pero si lo comparas con lo que te costaría pagar por un curso presencial en tu país seguramente te darás cuenta que en realidad es una opción bastante económica y que permite estudiar una cantidad de cursos que no podrías pagar si lo tuvieras que hacer presencialmente. Obviamente hay cursos gratis en internet, pero tener una plataforma especializada tiene sus ventajas.

Platzi te da la opción de pagar en tu moneda local y tiene muchas opciones de pago que hacen que el proceso de subscripción sea sencillo.

Entorno de Aprendizaje
La interfaz de usuario es fantástica, visualmente atractiva y permite llevar con facilidad cualquier curso

En la imagen pueden ver el video embebido con los controles básicos, a la derecha tienen una barra lateral que es de mucha utilidad porque allí es donde la comunidad puede hacer sus aportes, preguntas, colocar marcadores y encontrar todo el material y enlaces sugeridos por el instructor. Hay unos cursos más populares que otros y puedes encontrar una gran cantidad de aportes bastante valiosos, gente que ha resuelto problemas de modo distinto, consejos y experiencias.

La parte de las preguntas también es sumamente útil porque recuerda que las clases no son en vivo, asi si te quedaste con alguna duda o necesitas ayuda lo puedes hacer en esa sección, lógicamente los cursos más populares es donde se encuentran las respuestas más rápidas porque el profesor no contesta todas las preguntas, la comunidad también lo hace. Si haces una pregunta te pueden responder en poco tiempo o si el curso es impopular lamentablemente tendrás que esperar mucho más.

En la parte izquierda hay una columna delgada de color azul que despliega todas los capítulos del curso para que te resulte fácil saltar de uno a otro, bastante útil la verdad.

Ruta de aprendizaje
Una característica fantástica es la opción de seleccionar una ruta de aprendizaje, de esta forma puedes enfocarte en un tema en particular y no marearte estudiando cursos no relacionados.

Otra característica importante es que cuando terminas un curso tienes la opción de dar un examen y si lo apruebas te ofrecen un certificado digital que te puede servir como prueba del conocimiento adquirido.

Variedad y cantidad de cursos
Al momento de escribir este review Platzi ofrece más de 400 cursos, parecen pocos si lo comparas con Udemy pero deben tener en cuenta que en Udemy se ofrecen cursos de cualquier tema en cambio Platzi esta concentrado en Tecnología.

Los cursos estan divididos en varios rubros como:
– Desarrollo e Ingeniería
– Crecimiento Profesional
– Negocios y emprendimiento
– Producción Audiovisual
– Diseño y UX
– Marketing

Sin duda la mayor cantidad de cursos estan en Desarrollo e Ingeniería pero me parece genial que ofrezcan cursos de otras áreas porque eso te permite crecer profesionalmente y aprender cosas que quizás desconocías totalmente.

Cada mes van añadiendo nuevos cursos, actualizando cursos que van quedando obsoletos, en general diría que la variedad es buena y atiende las necesidades de la gente de acuerdo a la demanda actual. En mi caso particular yo tengo un perfil de Sysadmin orientado a DevOps y hay muchos cursos que alguien que se quiera dedicar a ser SysAdmin o implementar DevOps va a necesitar y en Platzi no los va a encontrar.

Idioma
Todos los cursos de Platzi estan en español, hay profesores de distintas nacionalidades y a pesar de tener distintos acentos se les puede entender sin ningún problema, quizás solo tengas problemas cuando usan jerga, este es un detalle que me imagino iran puliendo con el tiempo, pero les diría que el 99% del tiempo se entiende todo lo que dicen los profesores.

Platzi también ofrece cursos en portugués e inglés, pero entiendo que no hay la misma cantidad de cursos que en español.

Pros y Contras
Pros:
– Plataforma sólida y con una buena interfaz para aprender online.
– Tienen app para el teléfono celular, puede estudiar allí e incluso descargar los cursos.
– Tienen un formato establecido para todos los cursos, hay uniformidad en ese aspecto y eso hace fácil acostumbrarse a estudiar en Platzi.
– Muy buena atención al cliente por correo, chat e incluso redes sociales.
– La comunidad es un plus importante, los aportes y la interacción entre estudiantes es muy valiosa.
– Realizan conferencias online y presenciales para los estudiantes, también comparten contenido relacionado en sus redes sociales.

Contras:
– Algunos cursos resultan demasiado básicos, lo cual no estaría mal si ofrecieran el mismo curso con un nivel más avanzado.
– Hay profesores que son unos genios en lo que hacen pero su método de transmitir conocimiento no es muy adecuado, avanzan demasiado rápido en algunos temas o asumen muchas cosas.
– Tienen que mejorar el timing cuando presentan cosas en pantalla como la consola, si el profesor escribe un comando largo o hay algo en la pantalla que necesita ser leído deberían mantenerlo por un tiempo prudencial y no mostrar la cara del instructor a los 2 segundos en vez de la pantalla que uno desea leer. Tuve que usar pausa en muchos cursos debido a esto.

¿Platzi vale la pena?
Sin duda, si lo puedes pagar y tienes el tiempo para estudiar te animo a inscribirte, ya dependerá de cada persona, personalmente inicié casi 50 cursos pero solo completé 19 cursos en un año, muchos cursos sólo tome unas cuantas lecciones porque quería saber de que se trataba. Si bien estudiar online es genial porque no estas atado a un horario, no tienes que transportarte, ni todo lo que conlleva estudiar de forma presencial te aseguro que no es sencillo encontrar el tiempo para estudiar online, se requiere disciplina y créeme que un año se pasa volando.

No es un reemplazo para la Universidad ni donde vas a aprender todo, pero es una buena manera de obtener conocimiento especialmente si no sabes nada o muy poco, si eres una persona experimentada o con conocimientos previos quizás no lo vayas a aprovechar tanto porque los cursos te van a resultar muy básicos. Para mi ha sido una experiencia positiva porque he aprendido mucho en temas en los cuales sabía muy poco o nada.

Si te animas a inscribirte a Platzi te dejo este enlace que te permitirá obtener 1 mes gratis:
https://platzi.com/r/cesarvillegas/

Aprendiendo online: Mi experiencia con UDEMY

Soy una persona autodidacta, desde que conocí internet he aprendido infinidad de cosas por mi cuenta, en un principio todo se aprendía leyendo extensos manuales de puro texto con el tiempo se añadieron imagenes y hoy en día el panorama ha cambiado mucho, no solo se puede aprender con video si no que es complementado con una serie de herramientas que hacen que la experiencia de aprender sea mucho más sencilla.

Hay demasiadas formas de obtener conocimiento en estos días y en este post quiero hablar del site que probablemente sea el más grande que puedes encontrar en Internet en el 2019, me refiero a Udemy

Udemy.com es una plataforma de aprendizaje en línea que esta basado en el principio de permitir que cualquier persona puede crear un curso, esto ha permitido que existen miles de cursos a disposición en todas las áreas de conocimiento que puedas imaginar, si bien Udemy se concentra mucho en tecnología existen cursos referidos a hobbies y oficios como la carpintería por citar un ejemplo.
Udemy Front

Costos
Es bastante variable, muchos cursos cuestan 19.99 dólares hay otros más caros, he llegado a ver cursos de 200 dólares, pero siempre hay ofertas y puedes conseguir los cursos por muy poco dinero e incluso gratis! Al momento de escribir este post había una oferta con descuentos y muchos cursos de podían conseguir por sólo 9.99 dólares

Entorno de aprendizaje
La interface de Udemy es bastante fácil de seguir, tienes el video para empezar el curso inmediatamente y al lado derecho verás el temario del curso para que veas que viene a continuación o saltarte alguna clase.

Tiene una sección de Q&A (Questions and Answers) para que puedas hacerles preguntas a los profesores, algunos responden bastante rápido, otros demoran y hay de los que nunca contestan, esto también te puede servir para saber que profesor elegir, es normal que un profesor suela tener varios cursos.

Los bookmarks sirve para que marques capítulos que consideres importantes y la sección de anuncios normalmente la usan los profesores para comunicar algo relacionado al curso, la plataforma o simplemente promocionar otros cursos.

Udemy Interface

Variedad y cantidad de cursos
Esto puede ser una ventaja o un problema, en serio hay demasiados cursos, muchos cursos repetidos y una infinidad de temas distintos, hasta ahora no he encontrado una plataforma que tenga más cursos que ellos. Si buscas un curso de Java por ejemplo tendrás 10000 resultados, es realmente impresionante.

Idioma
Otro punto a favor es que hay contenidos en muchísimos idiomas pero sin duda la mayor cantidad de cursos estan en inglés, cada vez que aparecen nuevos cursos relacionados a alguna nueva tecnología siempre aparecen primero en inglés y luego en otros idiomas, si sabes inglés te irá muy bien.

Si no sabes inglés no te preocupes, la cantidad de cursos en español también es impresionante. Por ejemplo hice la búsqueda de cursos de Java en español y obtuve 1105 resultados.

Pros y Contras
Pros:
– Muchos cursos de todo tipo.
– Los cursos son muy baratos si los comparas con lo que costaría tomar los mismos cursos de forma presencial.
– Encontrarás cursos de tecnología reciente que dificilmente podrías conseguir de forma presencial.
– Si pagas un curso tienes acceso de por vida, es genial siempre y cuando el curso no se refiera a alguna tecnología que quede obsoleta.
– Hay garantía de devolución, si pagaste por un curso y no te gusta puedes solicitar un reembolso.
– Tiene aplicación para Android/IOS asi que puedes estudiar también usando tu celular.

Contras:
– Hay demasiados cursos MALOS, por lo visto los filtros para permitir que alguien presente un curso son muy laxos, sin temor a equivocarme de cada 10 cursos en Udemy 5 son malos, 3 regulares, 1 bueno y 1 excepcional.
– Los reviews no son confiables, he encontrado cursos malísimos con buenos reviews.
– No hay consistencia y uniformidad en los cursos, los cursos son muy dispares en cuanto a términos de contenido, duración y calidad.
– Es fácil perderse en este océano de conocimiento, deberían segmentar mejor sus contenidos.

¿UDEMY vale la pena?
Si, totalmente, con la salvedad de que tienes la responsabilidad de enfocarte muy bien en lo que quieres aprender, vas a tener que invertir tiempo en encontrar los cursos adecuados, hay cursos realmente buenos pero cuesta un poco de trabajo encontrarlos.

Si te animas a probar Udemy usa este enlace y me ayudarás a obtener créditos para seguir aprendiendo: Udemy.com