Cuando desarrollamos en python podemos tener una funcion con multiples argumentos. def addCart( precio, cantidad, producto ): pass Si hemos recibido dichos parametros en un objeto JSON o los tenemos guardados en un diccionario, podemos pasarlo directamente. Python, se encargara de asignar a cada parametro la propiedad correspondiete del objeto. Para esto debemos pasar la variable a la funcion anteponiendo dos asteriscos. addCart(**params)

Trabajando con NGINX para controlar el acceso de ciertos paises, encontre un modulo GeoIP Country, que nos permite determinar en funcion de la IP el pais de origen de un request. Al agregarlo en nuestro nginx.conf podemos bloquear facilmente visitas de ciertos paises. Por ejemplo: geoip_country /usr/share/GeoIP/GeoIP.dat; map $geoip_country_code $allowed_country { default yes; RU no; #Rusia UK no; #Ukrania CN no; #China } Sin embargo, al tenerlo instalado en nginx, tambien podemos hacer uso de la variable $geoip_country para mapear en nuestro access log, de que pais vino el request.

df es un comando linux que nos permite saber el tamaño exacto de nuestras particiones y cuanto de especio libre disponemos. Muy util, sobre todo en servidores. Pero a raiz de la aparicion de snap y dockers esta lista de particiones se llenaba de informacion repetida. Todas las particiones loop, no existian en realidad sino que eran particiones virtuales ( archivos dentro de particiones reales ) lo que significaba que no me servian para efectos de administrar el espacio de mi sistema. Para poder obtener un listado con las particiones

El formato webp, es el “nuevo” formato de google para compresion de imagenes sin perdida ideal para internet. Una misma imagen en webp ( 94k ) y en png ( 1.1 M ). Sin embargo,  no todas las aplicaciones de linux ( o windows o mac ) estan preparadas para trabajar con este formato. Asi que para poder usarlas fuera del navegador deberemos convertirlas. En linux existe una herramiento webp que vamos a instalar sudo apt install webp Y ahora podemos hacer la conversion con el siguiente comando dwebp <imagen.webp> 

Si deseas mostrar el contenido de un objeto ( o array ) en javascript, puedes usar console.table en lugar de console.log. Tiene una mejor representación visual.

En la configuración de tu archivo docker-compose.yml, puedes definir si quieres descargar una imagen del dockerhub o si prefieres construirla tu mismo usando el archivo dockerfile de tu proyecto. Sin embargo, tambien puedes usar las dos instrucciones al mismo tiempo: build: . image: testing:prod En este caso, docker-compose usara el comando build para construir la imagen, pero le pondra el nombre indicado en image 😀

NPM es el sistema de gestion de paquetes de nodejs. Con él podemos gestionar las dependencias de nuestros proyectos de #nodejs o #reactnative. También lo podemos usar para instalar aplicaciones globales en nuestro sistema, como por ejemplo: ChromeCast ( aplicación que te permite enviar videos a un chromecast desde la linea de comandos 😉 ) npm init -y Inicializa el archivo package.json de nuestro proyecto con los valores por defecto. Usar con cuidado porque reescribe el contenido del archivo, si  ya existe. npm home <paquete> Abre el navegador con la

Uno de mis comandos favoritos es du -hs * el cual me permite conocer los directorios y la cantidad de Gigas que ocupan. Sin embargo, en una lista larga de archivos estos suelen venir desordenados. Y aunque se puede concatenar con el comando sort, al tener estos registros un sufijo ( K, M, G ) suele ser inservible utilizar el comando sort. Sin embargo, hoy descubri un parametro de sort ( -h ) el cual le permite entender los sufijos. Ahora si tengo una lista de 50 directorios, perfectamente ordenados

El login de Drupal /user/login, suele ser una pagina poco retocada en la mayoria de los sitios drupal. Principalmente, porque no hay un suggestion file para personalizarla ( aunque se puede crear uno, pero hay que indicarlo en el archivo template.php ) Por ejemplo, function your_themename_theme() { $items = array(); // create custom user-login.tpl.php $items[‘user_login’] = array( ‘render element’ => ‘form’, ‘path’ => drupal_get_path(‘theme’, ‘your_themename’) . ‘/templates’, ‘template’ => ‘user-login’, ‘preprocess functions’ => array( ‘your_themename_preprocess_user_login’ ), ); return $items; } En este caso, ya podemos crear un archivo llamado user-login.tpl.php

Ahora que soy usuario de KDE, tengo un pequeño inconveniente. Cuando se activa el screensaver mis monitores no se apagan.  Y la verdad tener 4 monitores prendidos cuando no los estoy usando … pues no ayuda mucho a ahorrar energia. Para solucionarlo, usaremos el comando xset xset dpms force off Este comando apaga todos mis monitores. Ahora debemos asegurarnos que este comando se ejecute ( preferentemente de forma automatica ) cada vez que se inicia el screensaver. Para eso, nos vamos a Settings => Notifications y seleccionamos la opcion Event

10/34