8 de abril de 2018

Instalar y configurar ZSH y Oh My ZSH en Ubuntu


Hoy vengo a contar como instalar y configurar en Ubuntu la shell ZSH y el framework Oh My ZSH, herramientas que han conseguido mejorar mi productividad con la consola.

Escribo este post un poco para mi yo del futuro cuando tenga que volver a instalar y configurar de nuevo dichas herramientas, pero de paso espero que el post sea útil para más gente.

Instalar ZSH

ZSH es una shell que mejora a BASH en algunos aspectos como el autocompletado y la navegación entre directorios.

Para instalarlo:

sudo apt install git zsh

Poner ZSH como shell por defecto

Para poner ZSH como shell por defecto hay que ejecutar el siguiente comando:

chsh -s $(which zsh)
Y luego cerrar sesión y volver a entrar.

Instalar Oh My ZSH

Oh My ZSH es un framework con una gran comunidad detrás con muchos temas y plugins para añadir funcionalidad a ZSH.
Para instalarlo:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Tema agnoster

Oh My ZSH tiene muchos temas y a mi uno de los que más me gusta es agnoster.
Para activarlo hay que modificar el fichero de configuración ~/.zshr:

ZSH_THEME="agnoster"
Y para que funcione correctamente también hay que instalar fonts-powerline:

sudo apt install fonts-powerline

Tema honukai

Otro tema que me gusta mucho es honukai.


Plugins

Como he dicho antes Oh My ZSH tiene muchos plugins.

Para activarlos hay que modificar el fichero de configuración ~/.zshr:

plugins=(
  git common-aliases colored-man-pages zsh-autosuggestions zsh-syntax-highlighting
)
Algunos plugins, además de activarlos hay que instalarlos. A continuación describo y muestro como instalar los plugins que yo uso.

Plugin git

Viene instalado por defecto y añade un montón de alias de git como:

gl para git pull
gp para git push

Plugin common-aliases

Añade ciertos alias interesantes, entre ellos:

G para añadir | grep al final de un comando

Plugin colored-man

Este plugin colorea las páginas del manual.


Plugin extract

Permite descomprimir cualquier tipo de archivo comprimido de una forma común:

x nombre-fichero-comprimido

Plugin zsh-autosuggestions

Este plugin busca en el historial tus últimos comandos y te va autocompletando los mismos.

Para instalarlo:

git clone https://github.com/zsh-users/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

Plugin zsh-syntax-highlighting

Este plugin colorea los comandos en verde o en rojo dependiendo de si son correctos o no.

Para instalarlo:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-autosuggestions

Bibliografía

http://www.zsh.org/
http://ohmyz.sh/
https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
https://github.com/agnoster/agnoster-zsh-theme
https://github.com/powerline/fonts
https://github.com/oskarkrawczyk/honukai-iterm-zsh
https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins
https://github.com/zsh-users/zsh-autosuggestions
https://github.com/zsh-users/zsh-syntax-highlighting
https://vmcreativo.com/como-instalar-oh-my-zsh-en-tu-consola-y-algunos-plugins-utiles/
https://hackernoon.com/oh-my-zsh-made-for-cli-lovers-bea538d42ec1

Leer más

3 de enero de 2018

Mis propósitos para el 2018



Como otros años, y después de hacer mi retrospectiva del 2017, toca ahora plasmar mis propósitos para este 2018, que son muy parecidos a los que me propuse hace un año, con algún que otro cambio:

1. Primero, quiero seguir intentando tener una vida más saludable. Este propósito tiene otros propósitos secundarios:

  1. Reducir el consumo de azúcares, grasas y alcohol.
  2. Aumentar el consumo de frutas, verduras y agua.
  3. Dormir al menos 7 horas diarias.
  4. Andar al menos 5 kilómetros diarios.
  5. Hacer deporte (correr/nadar) al menos 2 veces por semana.
  6. Bajar mi peso al menos 2 kilos y no volverlos a coger.
2. Segundo, quiero seguir dando lo mejor de mi como Asesor Técnico Docente en el servicio TIC de la Dirección Genaral de Infrastucturas y Servicios de la Consejería de Educación, Juventud y Deporte de la Comunidad de Madrid.

3. Tercero, quiero entregar en tiempo y forma mi Proyecto Fin de Máster del Máster Universitario en Ingeniería del Software para la Web en el que me he matriculado en la Universidad de Alcalá. El proyecto va a consistir en desarrollar una DApp con la Blockchain de Ethereum.

4. Cuarto, quiero seguir ayudado a mi gran amigo Fernando con Pronoide. Tengo la impresión que este 2018 va a ser un año todavía mejor que el 2017 para Pronoide.

5. Quinto, quiero seguir colaborando con la Universidad de Alcalá como profesor de algún Máster.

6. Sexto, me encantaría seguir siendo ponente, como otros años, ya sea en algún meetup, en el t3chfest, en el OpenExpo, en el Codemotion, o dando algún curso como formador técnico.

7.Séptimo, quiero buscar un nuevo líder que me sustituya en Hackathon Lovers. Yo estoy cansado de organizar hackathones. Creo que gente nueva con ideas nuevas y con fuerzas lo podría hacer mucho mejor que yo.

8. Octavo, quiero mejorar mi política de compartir. Quiero escribir en mi Blog, crear repositorios en mi GitHub y subir presentaciones en mi SlideShare, etc. Me conformo con un par de posts, un par de repos y un par de presentaciones.

9. Noveno, quiero no empeorar mi nivel de inglés. Me conformo con ver series, películas y charlas en inglés.

10. Y por último, pero no por eso menos importante, quiero pasar todavía más tiempo con mi familia y mis amigos, sobre todo quiero pasar más tiempo con mis hijas. Tengo que seguir con la progresión del año pasado.

Espero seguir con la tendencia del año pasado y conseguir si no son todos, la mayor parte de mis propósitos.
Leer más

Retrospectiva del 2017


Como otros años, me gusta hacer una retrospectiva chequeando los propósitos que me marqué a principio de año y ver cuales de ellos he conseguido:

1. Primero, tener una vida más saludable. Este propósito tenía varios objetivos secundarios:

  1. Reducir el consumo de azúcares, grasas y alcohol. A medias.
  2. Aumentar el consumo de frutas, verduras y agua. A medias.
  3. Dormir al menos 7 horas diarias. Conseguido.
  4. Andar al menos 5 kilómetros diarios. Conseguido.
  5. Hacer deporte (correr/nadar) al menos 2 veces por semana. A medias.
  6. Bajar mi peso al menos 2 kilos y no volverlos a coger.  A medias.
A medias. Aunque he hecho avances y estoy en la buena senda tengo que seguir mejorando este aspecto de mi vida.
2. Segundo, seguir dando lo mejor de mi como Asesor Técnico Docente en el servicio TIC de la Dirección Genaral de Infrastucturas y Servicios de la Consejería de Educación, Juventud y Deporte de la Comunidad de Madrid.

Conseguido. Creo que he cumplido de sobra mis cometidos. Aquí querría dar las gracias a todos mis compañeros.

3. Tercero, aprobar las 4 asignaturas del Máster Universitario en Ingeniería del Software para la Web en las que me matriculé en la Universidad de Alcalá. Como propósito secundario decidir cual va a ser mi Proyecto Fin de Máster de tal forma que esté enfocado a una posible tesis doctoral.

Conseguido. He aprobado las 4 asignaturas todas con sobresaliente, y ya tengo enfocado el Proyecto Fin de Máster: desarrollar una DApp con la Blockchain de Ethereum.

4. Cuarto, seguir ayudado a mi gran amigo Fernando con Pronoide.

Conseguido. Creo que, como años anteriores, he sido un buen consejero para Fernado. La verdad es que mi implicación en Pronoide este año ha aumentado para bien con respecto al año pasado. Creo que el 2018 va a ser un buen año para Pronoide.

5. Quinto, seguir colaborando con la Universidad de Alcalá como profesor en algunos Másters.

Conseguido. Desde aquí querría dar las gracias a Miguel Ángel Sicilia por darme la oportunidad de colaborar en su equipo.

6. Sexto, mejorar mi nivel de inglés.
 
A medias. Si que he visto alguna serie, y alguna película en Inglés, pero creo que debería ser más constante.

7. Séptimo, seguir siendo ponente, como otros años, ya sea en algún meetup, en el t3chfest, en el OpenExpo, en el Codemotion, o dando algún curso como formador técnico.

Conseguido. He sido ponente en el t3chfest, en el OpenExpo, en el Codemotion, en este último con un taller y una charla, y he dado un par de cursos como formador técnico:
8. Octavo, afianzar los voluntarios de Hackathon Lovers y como propósito secundario, además de hackathones, montar algún meetup.

No conseguido. Apenas he creado comunidad. Solo hemos montado un hackathon. No he montado ningún meetup. Ya no tengo la fuerza de otros años. Necesitaría un sustituto que liderase el grupo.

9. Noveno, mejorar con mi política de compartir.

A medias. Es verdad que practicamente todo lo que hago lo comparto en mi GitHub y todas las charlas que doy las comparto en mi SlideShare, pero mi blog lo tengo olvidado. No me da la vida para escribir en él.

10. Y por último, pero no por eso menos importante, pasar todavía más tiempo con mi familia y mis amigos.
 
A medias. Creo que he mejorado con respecto al año anterior, pero como todos los años creo que debería pasar aún más tiempo con mis familiares y amigos. A ver si en el 2018 esto mejora aún más.

RESUMEN:

Conseguido: 5 (50%) A medias: 4 (40%) No conseguido: 1 (10%)

Bueno, aunque mejorable, yo creo que ha estado bastante bien. ʘ‿ʘ
Leer más

1 de enero de 2017

Mis propósitos para el 2017


Como otros años, y después de hacer mi retrospectiva del 2016, toca ahora plasmar mis propósitos para este 2017, que son muy parecidos a los que me propuse hace un año, con algún que otro cambio:

1. Primero, quiero tener una vida más saludable. Este es un propósito totalmente nuevo con respecto al año anterior, importante para mi y que tiene otros propósitos secundarios:

  1. Reducir el consumo de azúcares, grasas y alcohol.
  2. Aumentar el consumo de frutas, verduras y agua.
  3. Dormir al menos 7 horas diarias.
  4. Andar al menos 5 kilómetros diarios.
  5. Hacer deporte (correr/nadar) al menos 2 veces por semana.
  6. Bajar mi peso al menos 2 kilos y no volverlos a coger.
2. Segundo, quiero seguir dando lo mejor de mi como Asesor Técnico Docente en el servicio TIC de la Dirección Genaral de Infrastucturas y Servicios de la Consejería de Educación, Juventud y Deporte de la Comunidad de Madrid. Como el año pasado seguro que lo consigo.

3. Tercero, quiero aprobar las 4 asignaturas del Máster Universitario en Ingeniería del Software para la Web en las que me he matriculado en la Universidad de Alcalá. Como propósito secundario quiero decidir cual va a ser mi Proyecto Fin de Máster de tal forma que esté enfocado a una posible tesis doctoral.

4. Cuarto, quiero seguir ayudado a mi gran amigo Fernando con Pronoide. Tengo la impresión que este 2017 va a ser un buen año para Pronoide.

5. Quinto, quiero seguir colaborando con CIFF como profesor del Máster en Big Data y Business Analytics. Este año además creo que vamos a utilizar la metodología "flipped classroom", y eso me motiva.

6. Sexto, quiero mejorar mi nivel de inglés. Sé que lo que necesitaría es practicar más tanto al oral como al escrito, pero también sé que no tengo tiempo para ello. Así que me conformo con ver al menos media hora al día de vídeos en inglés ya sean series, películas, o charlas.

7. Séptimo, me encantaría seguir siendo ponente, como otros años, ya sea en algún meetup, en el t3chfest, en el OpenExpo, en el Codemotion, o dando algún curso como formador técnico.

8. Octavo, quiero afianzar los voluntarios de Hackathon Lovers y como propósito secundario quiero, además de hackathones, montar algún meetup.

9. Noveno, quiero mejorar con mi política de compartir. Quiero escribir al menos 6 entradas en mi Blog, crear 6 repositorios en mi GitHub y subir al menos 6 presentaciones en mi SlideShare, etc.

10. Y por último, pero no por eso menos importante, quiero pasar todavía más tiempo con mi familia y mis amigos. Tengo que seguir con la progresión del año pasado.

Espero seguir con la tendencia del año pasado y conseguir si no son todos, la mayor parte de mis propósitos.
Leer más

21 de diciembre de 2016

Retrospectiva del 2016


Como otros años, cuando se acerca el final de año, me gusta hacer una retrospectiva chequeando los propósitos que me marqué a principio de año y ver cuales de ellos he conseguido:

1. Primero, dar lo mejor de mi en nueva etapa profesional como Asesor Técnico Docente en el área TIC de la Dirección Genaral de Infrastucturas y Servicios de la Consejería de Educación, Juventud y Deporte de la Comunidad de Madrid.

Conseguido. Creo que he cumplido de sobra mis cometidos. Aquí querría dar las gracias a todos mis compañeros, y en especial a Quirino, por darme la oportunidad de trabajar en su equipo, y a César por su gran compañerismo y su amistad.

2. Segundo, aprobar el Máster Universitario en Ingeniería del Software para la Web que me he matriculado en la Universidad de Alcalá.

Conseguido. Yo creo que matricularme de 4 asignaturas y sacar 3 matrículas de honor y un 10 es un conseguido como la copa de un pino. \o/

3. Tercero, seguir colaborando con CIFF como profesor del Máster en Big Data y Business Analytics.

Conseguido. En primer lugar querría dar las gracias a Miguel Ángel Sicilia por darme la oportunidad de colaborar en su equipo. Y luego simplemente comentar que creo que los 2 módulos que he impartido han salido bastante bien:

4. Cuarto, conseguir que la gente de la comunidad se involucre en Hackathon Lovers buscando voluntarios y colaboradores.

Conseguido. Por ahora hay un total de 25 voluntarios, eso sí, unos más activos que otros, pero en cualquier caso están ayudando bastante. Para comunicarnos hemos creado:
5. Quinto, me encantaría seguir siendo ponente, ya sea en algún meetup, en el t3chfest, en el OpenExpo, en el Codemotion...

Conseguido. He sido ponente en el t3chfest, en el OpenExpo, en el Codemotion, en este último con un taller  y con una charla compartida con mi amigo y compañero Jorge:
6. Sexto, seguir ayudado a mi gran amigo Fernando con Pronoide.

Conseguido. Creo que, como años anteriores, he sido un buen consejero para Fernado. La verdad es que mi implicación en Pronoide este año ha aumentado para bien con respecto al año pasado. Creo que el 2017 va a ser un buen año para Pronoide.

7. Séptimo, seguir realizando algo de deporte. Me he propuesto hacer deporte dos veces por semana, ya sea correr y/o nadar.

A medias. He tenido temporadas donde si que he cumplido, incluso con creces, mi propósito, pero ha habido otras temporadas donde no lo he cumplido. Espero que este año, el hacer deporte (ya sea correr o nadar) al menos 2 veces por semana se convierta en una rutina para mi.

8. Octavo, quiero retomar un poco el inglés. Me conformo con ver series en Inglés, y practicar con Duolingo.

A medias. No he practicado nada con el Duolingo, y aunque si que he visto alguna serie (Humans, Mr. Robot, Vikings...), y alguna película en Inglés (Interstellar, The Hobbit, Maleficent...), creo que debería ser más constante e intentar que, como el deporte, se convierta en una rutina para mi.

9. Noveno, quiero seguir con mi política de compartir. Aumentar mis aportaciones a mi Blog, mi GitHub, my SlideShare, etc.

A medias. No voy a decir que no haya compartido, porque lo he hecho, pero no ha mejorado con respecto al año pasado, sino al contrario, mis aportaciones se han reducido. A ver si para el 2017 invierto la tendencia.

10. Y por último, pero no por eso menos importante, no descuidar a mi familia y amigos.

A medias. Creo que he mejorado con respecto al año anterior, pero como todos los años creo que debería pasar aún más tiempo con mis familiares y amigos. A ver si en el 2017 esto mejora aún más.

RESUMEN:

Conseguido: 6 (60%) A medias: 4 (40%) No conseguido: 0 (0%)

Bueno, aunque mejorable, yo creo que ha estado bastante bien. ʘ‿ʘ
Leer más

12 de julio de 2016

Instalación y configuración básica de NginX en Ubuntu



Introducción a NginX

La principal ventaja de NginX como servidor web es que consume muchos menos recursos al servir contenido estático, y esto lo convierte en una excelente opción para funcionar como proxy inverso o como balanceador de carga para otros servidores como Apache, optimizando la entrega de contenidos.

Lo que hace que Nginx sea diferente a otros servidores web es su arquitectura, que permite responder a millones de peticiones por segundo aprovechando al máximo los núcleos o hilos de ejecución del servidor con una configuración muy simple.

Fuente: https://raiolanetworks.es/blog/nginx/

Instalar NginX en Ubuntu

La instalación de NginX en Ubuntu es casi trivial, sólo hay que ejecutar el siguiente comando:

sudo apt-get install nginx
Si introducimos la URL http://localhost en un navegador de la máquina donde lo hemos instalado, tenemos que apreciar algo así:


Cambiar el puerto por defecto

Para cambiar el puerto por defecto tenemos que modificar el fichero de configuración “/etc/nginx/sites-available/default”

sudo vim /etc/nginx/sites-available/default
Y donde pone “listen 80” ponemos “listen 88”:

Entonces reiniciamos el servidor:

sudo service nginx restart
Si introducimos ahora la URL http://localhost:88 en un navegador de la máquina donde lo hemos instalado, tenemos que apreciar algo así:


Cambiar página web por defecto

Para cambiar la página por defecto de NginX en Ubuntu, nos tenemos que ir a “/usr/share/nginx/html” y modificar el fichero “index.html”:

sudo vim /usr/share/nginx/html/index.html
En este caso simplemente cambiaremos el <title> y el <body> poniendo “Hola nginx!”

Si volvemos a introducir la URL http://localhost:88 en un navegador de la máquina donde lo hemos instalado, tenemos que apreciar algo así:


Opinión personal

Sin ser experto ni en Apache (ver mi articulo "Instalación y configuración básica de Apache en Ubuntu") ni en NginX, la sensación que me ha dado es que NginX es un poco más sencillo de configurar, ahora bien, parece menos versátil.

Yo no he hecho ninguna prueba de carga, pero en muchas de las comparativas que he buscado, como la que pongo abajo, muestran como en temas de rendimiento gana NginX:


Fuente: http://www.theorganicagency.com/apache-vs-nginx-performance-comparison/

Creo de todas formas que el principal indicador a tener en cuenta es el ascenso global en el uso de NginX como servidor web. La cuota de mercado de NginX en el millón de sitios más concurridas es del 24% en diciembre de 2015, sólo por debajo de Apache. Pero ese dato aislado tiene mucho más valor en contexto, viendo la evolución de dicho porcentaje en los últimos 7 años, en donde no ha parado de subir, mientras que el resto de servidores no ha parado de bajar.

Fuente: http://news.netcraft.com/archives/2015/12/31/december-2015-web-server-survey.html

Conclusión: si tuviese que instalar un servidor para servir páginas web, creo que yo, hoy por hoy, me decantaría por NginX.
Leer más

5 de mayo de 2016

Los paquetes imprescindibles del editor Atom

Beautify (para formatear nuestro código)


MiniMap (para mostrar un mapa del documento en la parte derecha)


FileIcons (pone iconos y colores a los distintos tipos de archivos)


Pigments (colorea los colores)


GitTimeMachine (para ver diferencias con las distintas versiones de un archivo)


Leer más

21 de abril de 2016

SSH Tunneling (port forwading) en Linux


Tenemos este escenario (localhost > VPN > 192.168.2.155 > 192.168.2.131):

- Desde localhost, mediante un servicio VPN (podría no tener una VPN y el ejemplo valdría igual, pero en mi caso había un VPN en medio) puedo conectarme mediante SSH al servidor que (en la red de la VPN, aunque como he dicho podría estar en una red local) tiene una IP 192.168.2.155.

- Desde este último servidor puedo acceder al puerto 389 de otro servidor con IP 192.168.2.131.

- El problema es que desde localhot necesitaría acceder al puerto 389 del servidor con IP 192.168.2.131 pero no tengo acceso a dicha IP desde localhost.

Solución: usar SSH Tunneling (port forwading)

A continuación explico como lo he hecho en un CentOS 7, aunque debería funcionar, salvo los últimos puntos donde hablo del firewall, en otras distribuciones Linux:

1.- Hago un ssh al servidor 192.168.2.155:

usuario@localhost$ ssh root@192.168.2.155

2.- Una vez dentro ejecuto el siguiente comando:

root@192.168.2.155$ ssh -f -L 192.168.2.155:9389:192.168.2.131:389 192.168.2.155 -N

3.- Con este comando redirigimos lo que llegue al servidor 192.168.2.155 por el puerto 9389 al puerto 389 del servidor 192.168.2.131.

4.- Podemos ver este proceso ejecutándose lanzando el siguiente comando:

root@192.168.2.155$ ps -ef | grep ssh
root 1234 1 0 10:24 ? 00:00:00 ssh -f -L 192.168.2.155:9389:192.168.2.131:389 192.168.2.155 -N

5.- Si queremos parar el proceso de redirección, deberíamos ejecutar el siguiente comando:

root@192.168.2.155$ kill -9 1234

6.- Para comprobar que efectivamente el servidor 192.168.2.151 está escuchando por el puerto 9389 ejecutamos el siguiente comando:

root@192.168.2.155$ netstat -punta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address      Foreign Address State  PID/Program name    
tcp        0      0 192.168.2.155:9389 0.0.0.0:*       LISTEN 4843/ssh

7.- Normalmente para que un servidor pueda escuchar por un determinado puerto tenemos que abrir dicho puerto en el firewall, y en este caso (un CentOS 7) tenemos que ejecutar el siguiente comando:

root@192.168.2.155$ firewall-cmd --zone=public --add-port=9389/tcp --permanent

8.- Y una vez hecho esto reiniciar el firewall con el siguiente comando:

root@192.168.2.155$ firewall-cmd --reload

9.- En otras distribuciones Linux para abrir un puerto en el firewall se hace mediante iptables.


10.- Para comprobar que el firewall está correctamente configurado podemos ejecutar el siguiente comando:

root@192.168.2.155$ iptables -nL | grep ACCEPT | grep NEW

11.- Que nos debería mostrar algo así (fijaros, que como estamos conectados por SSH el puerto 22 está abierto):

root@192.168.2.155$ iptables -nL | grep ACCEPT | grep NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:22 ctstate NEW
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:9389 ctstate NEW

12.- Ahora, si nos vamos a nuestra máquina local, podremos acceder al puerto 389 del servidor 192.168.2.131 a través del puerto 9389 del servidor 192.168.2.155 gracias al túnel SSH que hemos creado y lo podemos comprobar haciendo un telnet en la máquina local:

usuario@localhost$ telnet 192.168.2.155 9389
Trying 192.168.2.155...
Connected to 192.168.2.155.
Escape character is '^]'. 
Leer más

2 de enero de 2016

Mis propósitos para el 2016


Después de hacer mi retrospectiva del 2015, toca ahora plasmar mis propósitos para este 2016:

1. Primero, dar lo mejor de mi en nueva etapa profesional como Asesor Técnico Docente en el área TIC de la Dirección Genaral de Infrastucturas y Servicios de la Consejería de Educación, Juventud y Deporte de la Comunidad de Madrid.

2. Segundo, aprobar el Máster Universitario en Ingeniería del Software para la Web que me he matriculado en la Universidad de Alcalá.

3. Tercero, seguir colaborando con CIFF como profesor del Máster en Big Data y Business Analytics.

4. Cuarto, conseguir que la gente de la comunidad se involucre en Hackathon Lovers buscando voluntarios y colaboradores.

5. Quinto, me encantaría seguir siendo ponente, ya sea en algún meetup, en el OpenExpo, en el t3chfest, en el Codemotion...

6. Sexto, seguir ayudado a mi gran amigo Fernando con Pronoide.

7. Séptimo, seguir realizando algo de deporte. Me he propuesto hacer deporte dos veces por semana, ya sea correr y/o nadar.

8. Octavo, quiero retomar un poco el inglés. Me conformo con ver series en Inglés, y practicar con Duolingo.

9. Noveno, quiero seguir con mi política de compartir. Aumentar mis aportaciones a mi Blog, mi GitHub, my SlideShare, etc.

10. Y por último, pero no por eso menos importante, no descuidar a mi familia y amigos.
Leer más