Recent Posts

Linux Sucks

Linux Sucks

Some years ago a coworker (Julian E.) shared this video with us, unfortunately I lost the link, weeks ago I was trying to find it because I find it interesting and I share some ideas with its author (Bryan Lunduke), but I could not find…

Ventajas y desventajas de Python

Ventajas y desventajas de Python

Siempre es bueno conocer por qué utilizar un lenguaje de programación, hoy estaré comentando un par de cosas respecto a python. Ventajas Fácil aprendizaje He visto que muchas personas, blogs, escuelas y universidades manifiestan lo fácil que es aprender python, personalmente tambien considero a python…

Map, Reduce y Filter en Python 3

Map, Reduce y Filter en Python 3

Hace un buen rato conocí las funciones map, reduce y filter, escribo este post ya que como no las utilizo muy menudo, siempre que necesito utilizarlas, gasto algo de tiempo volviendo a recordar su uso. So… este es mi forma de recordar cómo utilizarlas, espero les sea útil.

Map

¿Para qué puede servir?

R:/ Realizar una operación a cada elemento de una lista

Ejemplo:

A = [1, 2, 3, 4]
B = map(lambda x: x + 1, A)

print(B)
<map object at ...>

print(list(B))
=> [2, 3, 4, 5]

Reduce

¿Para qué puede servir?

R:/ Obtener un resultado de una lista de elementos

Ejemplo:

from functools import reduce

A = [10, 2, 4, 1, 1]
B = reduce(lambda x, y: x + y, A)

print(B)
==> 18

Filter

¿Para qué puede servir?

R:/ Seleccionar elementos de una lista

Ejemplo:

A = [1, 7, 9, 11, 19, 17, 18, 20]
B = filter(lambda x: x % 2 == 0, A)

print(B)
<filter object at ...>

print(list(B))
==> [8, 18]
Online Coding Tools

Online Coding Tools

Need to code something and you do not have an IDE? Try these few online coding tools, I’m sure they will help you from your rush. Repl.it One of the most useful tools, it allows you to code without an IDE, here are a few…

¿Qué apps instalar en MacOS?

¿Qué apps instalar en MacOS?

En aquellos días donde todo era felicidad, un día me pidieron ayuda para configurar un Mac nuevo y casi me quedé en blanco porque no sabía qué instalarle, por acá comparto un par de aplicaciones que considero son esenciales. Navegadores: Chrome, Firefox, Opera Google Chrome…

SSH + screen + RPi

SSH + screen + RPi

Hello, long time no see!

Recently I had a situation in which I needed to have two processes running on a docker container, and this docker container was running on my RPi. So… I solved my situation using screen.

What is screen?

It is an awesome tool that allows us to have multiple terminals from a physical one. You can check more information here

How to install it?

Easy, just type this on your RPi:

sudo apt-get install screen

How to use it?

It is even easier! Here is a cheatsheet of the basic usage:

  1. To create a new session: screen -s session-name. After this you will be on that new terminal.
  2. To return to your original terminal: just hit ctrl + a  + d.
  3. To list all your terminals type: screen -ls
  4. To connect to one of the terminal you created (on step 1), type: screen -r session-name
  5. When you are on a session, you can kill that one using ctrl + k, this will ask you and you just have to hit “y” to kill that session

How do I use it?

Here is some context to my situation. I need to connect to my RPi, run a docker container, and run two processes on that docker container, here is what I do.

# connect to my rpi
ssh [email protected]
# run docker compose on the background
docker-compose up -d
# create a new session with screen, this will log me in into my new session
screen -S beat
# list docker containers running
docker ps
# connect the terminal on the docker image
docker exec -it name-of-the-container bash
# load some env vars
source env_vars
# start celery beat
celery beat --app config.celery -l info
# close beat session
ctrl + a + d
# create a new session with screen, this will log me in into my new session
screen -S worker
# list docker containers running
docker ps
# connect the terminal on the docker image
docker exec -it name-of-the-container bash
# load some env vars
source env_vars
# start celery worker
celery worker --app config.celery -l info
# close beat session
ctrl + a + d

And that is, after this, celery beat and worker will be running on background.

Guide: Remove Docker Images, Containers, and Volumes

Guide: Remove Docker Images, Containers, and Volumes

Here is a guide to remove docker images, containers and volumes. Purge unused Images, Containers and Volumes docker system prune -a Remove an specific docker image First, list all the images or filter by name List all the images docker images -a Filter by name…

How to run docker and docker-compose on Raspbian

How to run docker and docker-compose on Raspbian

Since taganga v2 now uses multiple machines, I want to try if a RPi can help me save a few bucks monthly. So here are the steps to install docker and docker-compose into a RPi with Raspian 9 (cat /etc/os-release). Installing Docker So here we…

Apps recomendadas para aprender japonés

Apps recomendadas para aprender japonés

こんばんは!

Hace un par de semanas me decidí a comenzar a estudiar japonés, y bueno, como ahora todo tiene app, hay un par que me han ayudado mucho a memorizar los silabarios de Hiragana y Katakana, comparto las que más me han gustado.

Continue reading Apps recomendadas para aprender japonés

¿Dónde descargar imágenes libres de derecho?

¿Dónde descargar imágenes libres de derecho?

Hace un par de meses había querido crear este post y bueno aquí lo tienen, aca un par de sitios donde se pueden descargar imágenes libres de derecho. https://pixabay.com https://www.pexels.com https://unsplash.com http://finda.photo https://gratisography.com