Control de Procesos en Linux – Guía Sencilla

Tanto si estás especializado en Linux como si eres un programador que necesita este SO para desplegar sus aplicaciones, seguro que en alguna ocasión  has tenido que localizar algun proceso que se está ejecutando. Hoy os traigo una guía para encontrar más sencilla y clara los procesos, tanto padres como hijos.

Comencemos explicando ‘pgrep‘, que nos permite hacer un grep entre los procesos.
Con ‘ps -ef‘ vemos todos los procesos del sistema. Le podemos añadir el flag ‘–forest‘ para que nos muestre el árbol de todos los procesos que se están ejecutanod.
También tenemos ‘pstree‘, que hace algo similar y nos permite ver los procesos de una forma bastante clara.

Todos estos comandos son muy útiles, pero tienen un problema: trabajan sobre una instantánea de los procesos que están corriendo en el momento de lanzar el comando. Es decir, una foto estática que puede mostrar procesos que al segundo siguiente ya no están en ejecución.

Para obtener los procesos en tiempo real tenemos ‘top‘ y ‘htop‘. Que lo que hace es ir recargando los valores a lo largo del tiempo para tener siempre una instantánea en tiempo real.
Además, nos muestra información de carga del sistema (procesador, memoria, swap…). Si no te interesa ver esa información «extra» puedes utilizar la combinación de teclas ‘altgr‘ + ‘#‘ y de esta forma solo ver los procesos. También puedes editar las columnas que no quieres que se muestren.
Finalmente, puedes eliminar los threads, que básicamente son subprocesos. Normalmente aparecen pintados en color verde. Se pueden eliminar con ‘shift‘ + ‘h‘.
Si pulsamos ‘F5‘ lo veremos en formato de árbol y con ‘F3‘ podemos buscar entre los procesos. Con la tecla ‘u‘ podemos filtrar procesos por usuario. También podemos realizar acciones (como matar un proceso) con ‘F9‘.

Minientrada

Frameworks Modernos para Desarrollo Web con Python

Seguro que alguna vez has querido crearte una web para un proyecto y te ha resultado tedioso tener que hacer todo el código HTML, CSS…

Hoy os traigo 3 frameworks que os ayudarán en el proceso para podáis dedicar más esfuerzo a la lógica de la aplicación.

FastHTML

Con FastHTML puedes crear aplicaciones web modernas y atractivas en Python puro y desplegarlas en minutos.  Puedes obtener más información y acceso a algunos ejemplos en su web: https://www.fastht.ml/.

FastAPI

Misma idea que la anterior pero esta vez centrada en crear una API. Te permitirá crear tus propias API con una sintaxis relativamente sencilla. Además, de forma automática te genera la documentación para que pueda ser consultada por internet.
Más información en su web: https://fastapi.tiangolo.com/.

Reflex

Si buscas algo tanto para frontend como para backend. Es personalizable, responsive y permite utilizar plantillas. Además, permite componentes.
Más información en su web: https://reflex.dev/

Términos que todo programador debería conocer

  1. Variables: Espacios de memoria reservados para almacenar datos en un programa. Cada variable tiene asociado un nombre único y un valor.
  2. Tipos de datos: Determinan el tipo de información almacenado en una variable. Algunos tipos comunes son:
    1. Int: Números enteros.
    2. Float: Números decimales.
    3. String: Texto.
    4. Bool: Valores Booleanos (true o false).
  3. Estructuras de control: Mecanismos que permiten controlar el flujo en ejecución de un programa. Un ejemplo son los condicionales (if-else) y otro los bucles (for, while).
  4. Estructuras de datos: Formas de organizar y almacenar datos en memoria para un acceso eficiente, como arreglos, listas y diccionarios. Ofrecen diferentes formas de estructurar y manipular información.
  5. Algoritmos: Son secuencias de pasos definidos que resuelven problemas o realizan tareas específicas, siguiendo una lógica ordenada para alcanzar resultados precisos y eficientes.
  6. Debugging – Depuración: Proceso de identificar, analizar y corregir errores o fallos en el código de un programa.
  7. POO: Programación orientada a objetos, es un paradigma de programación que organiza el código en objetos que encapsulan datos y comportamientos, permitiendo la reutilización y extensión de funcionalidades a través de la herencia y composición.
  8. Operaciones lógicas: Aquellas aplicadas a valores booleanos. Son AND, OR, NOT…
  9. Operaciones matemáticas: Operaciones aritméticas básicas como la suma o la resta. Se aplican a valores numéricos y permiten realizar cálculos y manipulaciones de datos.
  10. Funciones: Bloques de código reutilizable que realizan una tarea específica. Permiten agrupar un conjunto de instrucciones bajo un nombre que facilita su llamada y ejecución desde diferentes partes del programa.
  11. Métodos: Funciones asociadas a objetos en la POO. Operan sobre los atributos y comportamientos del objeto y pueden acceder a sus datos internos.
  12. Asincronismo: En la programación asíncrona las operaciones no se ejecutan en orden secuencial, lo que permite que el programa funcione mientras se ejecutan tareas en segundo plano.

Listar los últimos archivos modificados de un sistema Linux

Hoy os traigo una forma de conocer los archivos que se han tocado últimamente en nuestro sistema.

Vamos a explicar el procedimiento paso a paso:

find . -type f

Con este comando vamos a mostrar un listado de todos los archivos que están en este directorio y sus subdirectorios.

Ahora vamos a formatear la salida del comando con printf

find . -type f -printf "\n%TF-%TH-%TM %p"

F – Para mostrar el año, mes y día.
H – Para mostrar la hora.
M – Para mostrar los minutos.
p – Para imprimir la ruta.

Ahora le metemos un pipe (tubería) para ordenar:

find . -type f -printf "\n%TF-%TH-%TM %p" | sort -nr -t"-" -k1,5

n – Ordenamiento numérico
r – Para ordenar al revés
t»-» – Se utiliza para indicar que el separador de campos es el guión.
k1,5 – Le indicamos que debe ordenar por los campos del 1 al 5, es decir, empieza por el año, después el mes y así hasta el minuto.

Finalmente recortamos la salida para que solo nos muestre las X primeras líneas, en este caso 20:

find . -type f -printf "\n%TF-%TH-%TM %p" | sort -nr -t"-" -k1,5 | head -20

También podemos ver solo el nombre del fichero en lugar de la ruta completa. Para ello usamos %f:

find . -type f -printf "\n%TF-%TH-%TM %f"

Y finalmente indicar que una buena práctica para limpiar la salida es enviar todos los errores a /dev/null:

find . -type f -printf "\n%TF-%TH-%TM %p" 2>/dev/null | sort -nr -t"-" -k1,5 | head -20

Y tambien podemos quitar todos los ficheros que empiecen por «.», es decir, todos aquellos ficheros ocultos que tenemos en el sistema:

find . -type f -printf "\n%TF-%TH-%TM %p" 2>/dev/null | sort -nr -t"-" -k1,5 | grep -Ev "\.\/\." | head -20

E – Expresiones regulares extendidas.
v – para descartar las líneas que coincidan con el patrón.

A partir de este grep puedes crear el que quieras para descartar también cualquier otro tipo de fichero que no sea interesante para tu búsqueda.

Para finalizar, puedes crear un alias que te permita llamar a este comando de una forma rápida. En este caso lo hemos llamado «lastmod»:

alias lastmod='find . -type f -printf "\n%TF-%TH-%TM %p" 2>/dev/null | sort -nr -t"-" -k1,5 | grep -Ev "\.\/\." | head -20'

Con el alias podrás buscar fácilmente los archivos modificados en el directorio en el que te encuentres.

API WordPress que no conocías

Si eres desarrollador seguro que para algun proyecto has usado wordpress y también estoy seguro que desconocías que por defecto WordPress tiene una API activa que desconocías y que es un problema para la seguridad de tu sitio web.

Para encontrar en enlace a esa API dentro de cualquier sitio con WordPress, solo tendrás que buscar en el código de la página por «api.w.org». De esta forma obtendrás un enlace, que normalmente no se modifica y es «*/wp-json».

Tener esto activado tiene dos problemas muy importantes de seguridad (y seguro que muchos más):

  1. Pueden hacer un scrapping muy facil de TODO tu sitio web.
  2. Suele tardar más de un segundo en responder, por lo que te pueden tirar la web con un DDoS.

Por esto, si no la utilizas, es recomendable desactivarla y si la utilizas, debes limitar su acceso.

¿Cómo desactivar esta API?

Aquí dejo dos opciones:

  1. Desactivarla para todo el mundo.
  2. Permitirla solo para usuarios administradores.

Opción 1: Desactivar API para todos.

add_filter(‘rest_authentication_errors’, ‘disable_rest_api’, 99);

function disable_rest_api($access) {
return new WP_Error(‘rest_disabled’, __(‘La REST API está desactivada en este sitio.’), array(‘status’ => 403));
}

Opción 2: Desactivar API para usuarios no administradores.

// Restringe el acceso a la Rest API solo para administradores
function restrict_rest_api_to_admins() {
// Verifica si el usuario no es administrador
if ( ! current_user_can( ‘administrator’ ) ) {
// Deshabilita el acceso a la Rest API
add_filter( ‘rest_authentication_errors’, function( $result ) {
// Devuelve un mensaje de error de autenticación
return new WP_Error( ‘rest_api_admin_only’, ‘Acceso denegado. Solo los administradores pueden acceder a la Rest API.’, array( ‘status’ => rest_authorization_required_code() ) );
});
}
}
add_action( ‘rest_api_init’, ‘restrict_rest_api_to_admins’ );

Para insertar este código puedes utilizar algún plugin como «Code Snippets» (de Code Snippets Pro) o insertarlo en el functions.php.

Si necesitas más información, puedes entrar en el siguiente artículo de webempresa: ¿Cómo desactivar Rest API en WordPress?

O También puedes obtener más información en este vídeo:

Automatiza tus Apps para que trabajen por tí

¿Conoces esa sensación de desear que las apps que usas todos los días trabajen solas por ti?  Pues prepárate para flipar, porque Make.com es la herramienta que necesitas para llevar tu productividad al siguiente nivel .

¿Qué es Make.com?

Es una plataforma de automatización visual que conecta tus aplicaciones favoritas como si fueran piezas de LEGO . Gmail, Google Sheets, Slack, Shopify, Trello… ¡todas juntas, trabajando en armonía! NO necesitas ser programador para crear flujos de trabajo brutales.

¿Por qué es la caña?

  • Arrastra y suelta, fácil y visual: Todo funciona en un editor súper intuitivo. Imagina que dibujas tus procesos en un mapa, conectando apps y acciones. Literalmente ves cómo fluyen tus datos en tiempo real.
  • Potente y personalizable: No es solo apretar un botón. Puedes usar filtros, condiciones lógicas, y hasta transformar datos como un pro. Si necesitas un “si pasa A, haz B, pero si pasa C, haz D”, Make.com lo hace.
  • Integraciones: Soporta cientos de apps, y si no encuentras una, puedes integrarla con su API o webhooks.

¿Qué puedes hacer con Make.com?

  • Automatizar tu correo electrónico: ¿Cansado de organizar tus mails a mano? Deja que Make archive, responda o te mande alertas solo de lo importante.
  • Sincronizar tareas entre herramientas: ¿Trello, Asana, o ClickUp? Todos tus proyectos trabajando juntos, sin que tengas que mover un dedo.
  • Marketing: Olvídate de actualizar tu CRM o listas de Mailchimp manualmente.
  • E-commerce al rescate: Imagina recibir un pedido en Shopify y que automáticamente se actualice el inventario, envíe un correo al cliente y te avise por Slack.

¿Por qué deberías probarlo?

Si ya conoces herramientas como Zapier, esto es como su versión pro. Es más potente, más personalizable, y encima es más asequible. Perfecto para geeks y empresas que buscan soluciones serias sin romper la hucha.

Make.com compite con herramientas como Zapier y Microsoft Power Automate, pero se destaca por:

  • Su mayor flexibilidad y nivel de personalización.
  • Soporte avanzado para usuarios técnicos gracias a sus capacidades de transformación de datos.
  • Precio competitivo en comparación con plataformas similares.

En resumen, Make.com es una herramienta ideal para quienes buscan automatizar procesos complejos y mejorar la productividad conectando diferentes servicios digitales en una única plataforma visual e intuitiva.

Equipos LoRa, domótica de larga distancia.

Seguro que alguna vez has querido controlar a distancia una bomba de riego o algun dispositivo que estaba a mucha distancia de la red wifi de tu casa. Hoy os traigo LoRa (acrónimo de Long Range o «largo alcance») una tecnología para la comunicación inalámbrica a larga distancia. Esta tecnología es ampliamente utilizada en aplicaciones de Internet de las Cosas (IoT) debido a su capacidad para transmitir datos en rangos muy amplios utilizando poca energía.

¿Qué es LoRa?

LoRa es una tecnología de modulación de radiofrecuencia desarrollada por Semtech Corporation que opera en bandas de frecuencia libres de licencia, como 868 MHz en Europa, 915 MHz en América del Norte y 433 MHz en algunas regiones de Asia. Utiliza una técnica de modulación de espectro expandido (Chirp Spread Spectrum o CSS) que permite:

  • Alcance largo: Comunicaciones de hasta 10-15 kilómetros en áreas rurales y de 2-5 kilómetros en entornos urbanos.
  • Bajo consumo de energía: Ideal para dispositivos que funcionan con baterías de larga duración.
  • Robustez: Buena resistencia a interferencias y ruidos en el canal de comunicación.

Componentes de un Equipo LoRa

Un equipo LoRa puede incluir varios de los siguientes elementos:

  1. Módulo LoRa:
    • Es el núcleo del equipo, encargado de la comunicación inalámbrica.
    • Contiene el transceptor de radio que usa LoRa para transmitir y recibir datos.
  2. Microcontrolador (MCU):
    • Gestiona la lógica y las aplicaciones del dispositivo.
    • Puede estar integrado en el mismo módulo o ser un componente externo.
  3. Sensores:
    • Los equipos LoRa suelen incluir sensores para recopilar datos del entorno, como temperatura, humedad, presión, calidad del aire, etc.
  4. Antena:
    • Facilita la transmisión y recepción de señales de radiofrecuencia.
  5. Fuente de energía:
    • Generalmente son dispositivos de bajo consumo alimentados por baterías, paneles solares o conectados a la red eléctrica.
  6. Interfaz de usuario:
    • Puede ser física (botones, pantallas) o remota (aplicaciones web o móviles para monitoreo).

Aplicaciones de los Equipos LoRa

  • Monitoreo ambiental: Sensores que miden condiciones ambientales en zonas rurales o urbanas.
  • Agricultura inteligente: Monitoreo de humedad del suelo, clima y riego.
  • Ciudades inteligentes: Gestión de alumbrado público, estacionamientos y calidad del aire.
  • Seguimiento de activos: Rastreo de vehículos, contenedores o paquetes en tiempo real.
  • Redes industriales: Supervisión de equipos y control remoto en fábricas.
  • Medición inteligente: Monitoreo de consumo de agua, gas o electricidad.

¿Cómo se conecta un equipo LoRa?

Los dispositivos LoRa suelen conectarse a través de redes LoRaWAN (Long Range Wide Area Network), un protocolo que define cómo los equipos LoRa se comunican con una puerta de enlace (gateway) que luego transfiere los datos a la nube para su procesamiento. Una arquitectura típica incluye:

  1. Nodos LoRa: Los dispositivos finales (sensores, rastreadores, etc.).
  2. Gateways LoRaWAN: Puertas de enlace que recogen los datos de los nodos y los envían a un servidor central.
  3. Servidor de red: Administra la comunicación entre los dispositivos LoRa y las aplicaciones en la nube.

En resumen, un equipo LoRa es un dispositivo de comunicación diseñado para transmitir datos a largas distancias de manera eficiente, siendo fundamental en aplicaciones IoT y redes de sensores distribuidas.

Minientrada

Aprende sobre Inteligencia Artificial con estos cursos de Google

Google nos proporciona una serie de cursos para que aprendas más sobre la IA (Inteligencia Artificial). Aquí os dejo los más importantes (en orden):

  1. Introduction to Generative AI – Español:
    https://www.cloudskillsboost.google/course_templates/536?locale=es
  2. Introduction to Image Generation:
    https://www.cloudskillsboost.google/course_templates/541
  3. Introduction to Large Language Models:
    https://www.cloudskillsboost.google/course_templates/539
  4. Create Image Captioning Models:
    https://www.cloudskillsboost.google/course_templates/542

¿Qué es DeleteMe y por qué deberías conocerlo?

En un mundo digital donde nuestra privacidad está constantemente bajo amenaza, proteger nuestra información personal es más importante que nunca. Aquí es donde Delete.me entra en acción, un servicio diseñado para ayudarte a recuperar el control sobre tu privacidad en línea. Si alguna vez te has preguntado qué tan expuesto estás en Internet, este artículo es para ti.

¿Cómo funciona Delete.me?

Delete.me actúa como un guardián de tu privacidad. Este servicio revisa las principales bases de datos de corredores de información para identificar qué datos tuyos están publicados y trabaja para eliminarlos de manera efectiva. Aquí hay un desglose de su funcionamiento:

  • Análisis inicial: Una vez te registras, Delete.me escanea plataformas conocidas para localizar tu información personal.
  • Eliminación de datos: Solicitan la eliminación de tus datos siguiendo los procedimientos legales establecidos por estas plataformas.
  • Monitoreo continuo: A lo largo de tu suscripción, el servicio realiza revisiones periódicas para asegurarse de que tu información no reaparezca.

Delete.me no es solo un servicio; es una herramienta crucial para vivir en el mundo digital de manera más segura. Si estás listo para tomar el control de tu privacidad y protegerte contra las amenazas digitales, Delete.me podría ser exactamente lo que necesitas.

En un mundo donde los datos son oro, proteger los tuyos debería ser una prioridad. ¿Estás listo para dar el primer paso hacia una vida más privada?