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‘.

Los riesgos de los dispositivos conectados a Internet. Cómo comprometer por completo tu privacidad y seguridad

Recientemente, se ha publicado una noticia sobre el hackeo de un robot doméstico de los que se utilizan para limpiar el hogar.

No podemos dejar de insistir en que cualquier dispositivo conectado a Internet es vulnerable y corre el riesgo de ser atacado.

Cuando explicamos esto, la reacción más común de las personas es: «¿Por qué alguien querría atacarme? ¿Quién soy yo? ¡Ni que fuera una figura pública importante!»

Sin embargo, cualquier tipo de información personal tiene valor en el mercado de datos, imágenes y otros bienes digitales.

Si alguien logra acceder indebidamente a las imágenes de la cámara de vigilancia en tu hogar, a la webcam de tu ordenador o incluso a la cámara de un juguete inteligente, como un peluche con cámara y micrófono, es fácil imaginar las consecuencias que esto podría tener.

Algunos de los posibles fines de estos ataques incluyen:

  1. Obtener imágenes de tu hogar para evaluar la cantidad de objetos de valor presentes.
  2. Estudiar tus rutinas y las de tu familia para planificar un robo.
  3. Acceder a imágenes comprometedoras para extorsionarte o venderlas en mercados clandestinos.

Y estas son solo algunas de las posibilidades.

No se trata de evitar el uso de estos dispositivos, ya que la tecnología aporta múltiples beneficios. Sin embargo, es fundamental aprender a protegerlos de manera adecuada. A continuación, comparto algunas recomendaciones:

  1. Configura una red Wi-Fi separada exclusivamente para los dispositivos IoT. Si no sabes cómo hacerlo, existen tutoriales en plataformas como YouTube que te pueden guiar paso a paso.
  2. Mantén los dispositivos actualizados. Las actualizaciones de software, especialmente los parches de seguridad, actúan como vacunas contra las vulnerabilidades.
  3. Elige marcas confiables. No todas las marcas ofrecen el mismo nivel de seguridad. Además de considerar el precio, investiga si el fabricante garantiza medidas de seguridad robustas, como encriptación avanzada y soporte técnico confiable.
  4. Cambia las contraseñas predeterminadas. Asegúrate de establecer un PIN o contraseña única y segura para cada dispositivo.
  5. Desconecta los dispositivos cuando no los utilices. Reducir el tiempo que están conectados a Internet puede minimizar los riesgos.

La ciberseguridad no es opcional, especialmente en un mundo cada vez más interconectado. Es responsabilidad de cada usuario implementar las medidas necesarias para proteger su privacidad y la de su familia.

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/

Minientrada

Alternativas gratuitas para alojar tus Bases de Datos

Primero de todo decir que ningún servicio es gratuito, es decir, si algo no te cuesta dinero es porque la empresa que proporciona ese servicio está ganando dinero de otra forma. Comento esto para aclarar que estas bases de datos pueden no servir para todos los proyectos y hay que revisar bien las condiciones de uso.

En primer lugar tenemos turso.tech, que nos oferece bases de datos SQLite. Con el plan gratuito tendrás 9GB, 500 bases de datos y tres localizaciones.

En segundo lugar traemos neon.tech, en donde podrás alojar bases de datos postgres SQL. Es útil para hacer pruebas en tus proyectos con su plan gratuito. Igual que la anterior dispone de una documentación muy completa.

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.

Mejor Programa para mantenimiento de Windows

Seguro que alguna vez en la vida has utilizado programas como CCleaner. De hecho existió una época en la que este programa lo utilizaba medio mundo para mejorar el rendimiento de su ordenador.

Pues existe un programa mejor y además, certificado por Microsoft. Se llama Microsoft PC Manager y es la mejor herramienta que existe para realizar el mantenimiento de tu ordenador. Es sencilla, gratuita y muy potente. Además, se puede obtener directamente desde la tienda de Microsoft.

Principales funciones de Microsoft PC Manager:

  1. Limpieza del sistema: Elimina archivos temporales y basura acumulada en el disco duro para liberar espacio. Optimiza el almacenamiento al identificar archivos grandes y poco usados.
  2. Optimización del rendimiento: Proporciona herramientas para acelerar el tiempo de respuesta del sistema. Ofrece un botón de «Boost» para liberar memoria (RAM) y cerrar aplicaciones que consumen recursos innecesarios.
  3. Gestión de inicio: Permite deshabilitar programas que se inician automáticamente con Windows, reduciendo el tiempo de arranque del equipo.
  4. Protección del sistema: Incluye integraciones con Microsoft Defender para detectar y eliminar malware o amenazas. Ayuda a mantener el sistema actualizado al gestionar las actualizaciones de Windows.
  5. Gestión de procesos: Muestra los procesos que están utilizando recursos intensivamente, lo que permite al usuario cerrarlos si es necesario.
  6. Recomendaciones de seguridad: Proporciona consejos para mejorar la configuración del sistema y garantizar la seguridad del PC.

¿Quién puede beneficiarse de esta herramienta?

Microsoft PC Manager está diseñado para usuarios que buscan una forma sencilla de mantener su PC con Windows en buen estado sin necesidad de herramientas de terceros. Es especialmente útil para quienes no tienen conocimientos avanzados de tecnología pero quieren asegurarse de que su equipo funcione de manera eficiente.