Mostrando entradas con la etiqueta software. Mostrar todas las entradas
Mostrando entradas con la etiqueta software. Mostrar todas las entradas

domingo, abril 12, 2026

Linux 7.0 ya es oficial: más seguridad, Rust estable y mejoras clave en rendimiento y virtualización

El kernel Linux 7.0 ya es oficial y, aunque su salto de numeración podría sugerir una revolución, en realidad se trata de una evolución sólida y estratégica del sistema operativo. Esta nueva versión, anunciada por Linus Torvalds, será la base de distribuciones importantes como Ubuntu 26.04 LTS y Fedora 44, previstas para fines de abril de 2026.

Uno de los cambios más relevantes es la consolidación del lenguaje Rust dentro del kernel. Tras varios años en fase experimental, Rust pasa a ser oficialmente soportado. Esto es importante porque ofrece mayor seguridad en memoria, reduciendo errores comunes en C como los desbordamientos o accesos inválidos, lo que impacta directamente en la estabilidad y seguridad del sistema.

En cuanto a hardware, Linux 7.0 amplía significativamente su compatibilidad. Se incorporan mejoras para arquitecturas como ARM64 (usada en muchos dispositivos móviles), RISC-V (una arquitectura abierta en crecimiento) y LoongArch. Estas mejoras incluyen nuevas operaciones atómicas, es decir, instrucciones que se ejecutan completamente o no se ejecutan, algo clave para sistemas concurrentes y multiproceso.

El área de sistemas de archivos también recibe varias mejoras. Por ejemplo, Btrfs (un sistema moderno orientado a snapshots y redundancia) ahora soporta mejor el acceso directo a disco (Direct I/O) en ciertos casos. XFS incorpora capacidades de “auto-reparación”, lo que permite detectar y corregir errores sin intervención manual. Además, aparece un nuevo sistema llamado “nullfs”, pensado para entornos donde el sistema raíz debe ser inmutable, es decir, no modificable.

Otros sistemas de archivos como EROFS (Optimized Read-Only File System) ahora activan por defecto la compresión LZMA, una técnica que reduce el tamaño de los datos almacenados. F2FS (Flash-Friendly File System), optimizado para memorias flash, mejora su gestión de memoria con soporte para “folios grandes”, lo que se traduce en mayor eficiencia.

En términos de rendimiento, Linux 7.0 introduce mejoras en el subsistema io_uring, una interfaz moderna para operaciones de entrada/salida (I/O). Ahora permite colas no circulares, lo que mejora el uso de la memoria caché y acelera aplicaciones intensivas en I/O. También se optimiza el uso de swap (memoria en disco cuando se agota la RAM) y se añade compresión en zram, un sistema que usa RAM comprimida como almacenamiento temporal.

En el ámbito de redes, se suman nuevas capacidades como el soporte para AccECN (Accurate Explicit Congestion Notification), un mecanismo que permite detectar congestión en la red de manera más precisa. También se da un paso importante con el soporte inicial para Wi-Fi 8 (estándar 802.11bn), orientado a conexiones de ultra alta fiabilidad.

Una mejora técnica clave es la incorporación de namespaces de red en sockets VSOCK. VSOCK (Virtual Socket) es un mecanismo de comunicación entre máquinas virtuales y el sistema anfitrión sin usar redes tradicionales. Con esta actualización, ahora se pueden aislar estas comunicaciones mediante namespaces, lo que mejora la seguridad en entornos con contenedores y virtualización.

En virtualización, el subsistema KVM recibe mejoras importantes, incluyendo soporte para nuevas funciones de seguridad en procesadores AMD modernos, como ERAPS (Enhanced Return Address Predictor Security), que protege contra ciertos tipos de ataques basados en predicción de saltos.

La seguridad en general también se refuerza. SELinux (Security-Enhanced Linux), un sistema de control de acceso obligatorio, ahora puede gestionar permisos sobre tokens BPF (Berkeley Packet Filter, usado para programas dentro del kernel). Además, se incorpora soporte para firmas criptográficas post-cuánticas, preparándose para futuros escenarios donde la computación cuántica pueda comprometer algoritmos actuales.

Otro detalle interesante es la incorporación de nuevas políticas y documentación sobre el uso de herramientas de desarrollo automatizadas, incluyendo asistentes de programación basados en inteligencia artificial. Esto refleja una tendencia creciente en el desarrollo del kernel, donde estas herramientas comienzan a tener un rol activo.

Linux 7.0 también incluye mejoras en APIs internas, nuevos mecanismos para reportar errores de entrada/salida, y cambios en cómo los sistemas de archivos manejan ciertos permisos (leases). Además, se permite personalizar el logo de arranque, reemplazando al clásico Tux por una imagen propia.

Por último, como es habitual, esta versión incluye soporte para nuevo hardware mediante drivers actualizados, abarcando desde chips móviles hasta equipos de escritorio. Con Linux 7.0 ya disponible, el desarrollo continúa rápidamente: la próxima versión, Linux 7.1, ya está en camino y tendrá su primera versión de prueba en abril de 2026.

En síntesis, Linux 7.0 no redefine el sistema, pero sí lo fortalece en aspectos clave como seguridad, rendimiento y compatibilidad, marcando además el inicio de una etapa donde tecnologías como Rust y la inteligencia artificial empiezan a consolidarse dentro del corazón del sistema operativo.

lunes, marzo 23, 2026

urltomarkdown, servicio web permite convertir páginas en Markdown de forma automática

Una nueva herramienta web permite convertir páginas de internet a formato Markdown de manera simple y automatizada, facilitando el trabajo de desarrolladores, analistas y creadores de contenido que necesitan procesar información web de forma estructurada. El servicio funciona a través de una solicitud directa a una URL, descargando el contenido de la página y transformándolo en un archivo Markdown limpio y reutilizable.

Desde el punto de vista técnico, el sistema opera mediante la recuperación del documento HTML de origen utilizando protocolos estándar como HTTP/HTTPS. Posteriormente, aplica un proceso de parsing (análisis sintáctico) para interpretar la estructura del documento, identificando elementos como encabezados, párrafos, listas, enlaces e imágenes. Estos componentes son luego convertidos a su equivalente en Markdown, un lenguaje de marcado liviano que utiliza una sintaxis simple basada en texto plano.

Markdown es ampliamente utilizado en entornos de desarrollo y documentación por su portabilidad y facilidad de lectura, permitiendo representar estructuras complejas sin necesidad de etiquetas extensas como las de HTML. En este contexto, la herramienta actúa como un convertidor (transpiler) entre formatos, preservando el contenido semántico mientras elimina elementos no esenciales como estilos CSS, scripts JavaScript y componentes dinámicos.

El proyecto, disponible como software de código abierto, ofrece una solución práctica para quienes requieren extraer texto desde sitios web de manera eficiente. Además, permite su implementación en servidores propios, lo que habilita su integración en flujos de trabajo automatizados, pipelines de datos o sistemas de scraping controlado.

Entre sus posibles aplicaciones se destacan la creación de resúmenes, la alimentación de modelos de inteligencia artificial, la indexación de contenidos y la preservación de información digital en formatos estables. También puede ser utilizado en procesos de auditoría de contenido o análisis forense digital, donde es necesario conservar versiones simplificadas y verificables de páginas web.

El desarrollo se presenta como una alternativa eficiente frente a métodos tradicionales de extracción de datos, reduciendo la complejidad técnica y mejorando la calidad del contenido obtenido. En un entorno digital en constante expansión, herramientas de este tipo contribuyen a optimizar el acceso, procesamiento y reutilización de la información disponible en la web.

domingo, agosto 03, 2025

¿Cómo Revivir una notebook Lenta?: Guía Definitiva con Soluciones de Software y Hardware

 ¿Tu notebook tarda una eternidad en encender? ¿Se congela constantemente? No la deseches todavía. Con las técnicas correctas, puedes devolverle la vida a tu equipo y hacerlo funcionar como nuevo.

Esta guía te llevará paso a paso desde el diagnóstico hasta las mejoras más efectivas, explicadas de forma simple para que cualquiera pueda aplicarlas.

Por Qué Se Vuelven Lentas las Laptops

Causas Principales

Las laptops se ralentizan por tres razones fundamentales:

Hardware obsoleto: Los componentes envejecen y ya no pueden manejar las demandas actuales del software.

Software acumulado: Programas innecesarios, archivos temporales y procesos en segundo plano consumen recursos.

Desgaste físico: El polvo, el calor excesivo y el uso prolongado afectan el rendimiento.

Señales de una Laptop Lenta

  • Tiempo de arranque superior a 2 minutos
  • Aplicaciones que tardan más de 10 segundos en abrir
  • Ventilador funcionando constantemente
  • Pantalla azul o cuelgues frecuentes
  • Uso de CPU o RAM constantemente alto

Diagnóstico: Identifica el Problema

Verifica las Especificaciones Actuales

Antes de hacer cualquier mejora, necesitas conocer tu hardware actual:

En Windows:

  1. Presiona Windows + R
  2. Escribe msinfo32 y presiona Enter
  3. Anota: procesador, RAM instalada, tipo de almacenamiento

En macOS:

  1. Haz clic en el logo de Apple
  2. Selecciona "Acerca de esta Mac"
  3. Revisa las especificaciones mostradas

En Linux:

  1. Abre la terminal
  2. Ejecuta sudo lshw -short
  3. Identifica CPU, memoria y almacenamiento

Monitorea el Rendimiento

Administrador de Tareas (Windows):

  • Presiona Ctrl + Shift + Esc
  • Revisa qué procesos consumen más CPU y RAM
  • Identifica programas innecesarios

Monitor de Actividad (macOS):

  • Presiona Cmd + Espacio, busca "Monitor de Actividad"
  • Observa el uso de CPU y memoria
  • Ordena por uso de recursos

System Monitor (Linux):

  • Ejecuta htop en terminal
  • Analiza procesos con mayor consumo
  • Revisa uso de memoria y CPU

Soluciones de Software

Limpieza del Sistema Operativo

Windows: Optimización Profunda

Desactivar programas de inicio:

  1. Abre msconfig desde el menú Inicio
  2. Ve a la pestaña "Inicio"
  3. Deshabilita programas innecesarios
  4. Reinicia el equipo

Limpiar archivos temporales:

  1. Presiona Windows + R
  2. Escribe %temp% y elimina todo el contenido
  3. Ejecuta "Liberador de espacio en disco"
  4. Selecciona todos los elementos para limpiar

Desfragmentar el disco duro:

  • Solo si usas HDD (no SSD)
  • Busca "Desfragmentar" en el menú Inicio
  • Ejecuta la desfragmentación completa

macOS: Mantenimiento Esencial

Limpiar caché del sistema:

  1. Ve a ~/Library/Caches
  2. Elimina carpetas de aplicaciones no utilizadas
  3. Vacía la papelera completamente

Gestionar elementos de inicio:

  1. Preferencias del Sistema > Usuarios y grupos
  2. Pestaña "Elementos de inicio"
  3. Elimina aplicaciones innecesarias

Verificar y reparar permisos:

  1. Abre "Utilidad de Discos"
  2. Selecciona tu disco principal
  3. Ejecuta "Primeros Auxilios"

Linux: Optimización Avanzada

Limpiar paquetes innecesarios:

sudo apt autoremove
sudo apt autoclean

Gestionar servicios de inicio:

systemctl list-unit-files --type=service
sudo systemctl disable [servicio-innecesario]

Limpiar archivos temporales:

sudo rm -rf /tmp/*
sudo rm -rf /var/tmp/*

Antivirus y Malware

Eliminación Completa de Amenazas

Windows:

  • Usa Windows Defender (integrado)
  • Descarga Malwarebytes para escaneo profundo
  • Ejecuta ambos en modo seguro

macOS:

  • Instala Malwarebytes para Mac
  • Revisa manualmente la carpeta Aplicaciones
  • Elimina extensiones sospechosas del navegador

Linux:

  • Instala ClamAV: sudo apt install clamav
  • Actualiza definiciones: sudo freshclam
  • Escanea: clamscan -r /home

Gestión de Memoria RAM

Optimización de Uso de RAM

Identificar consumidores de memoria:

  • Cierra navegadores con múltiples pestañas
  • Desinstala extensiones innecesarias
  • Limita aplicaciones en segundo plano

Configurar memoria virtual:

Windows:

  1. Panel de Control > Sistema > Configuración avanzada
  2. Rendimiento > Configuración > Avanzado
  3. Ajusta el tamaño del archivo de paginación

Linux:

  • Verifica swap: free -h
  • Ajusta swappiness: echo 10 | sudo tee /proc/sys/vm/swappiness

Upgrade de Hardware

SSD: La Mejora Más Impactante

¿Por Qué Cambiar a SSD?

Los discos de estado sólido (SSD) son la actualización más efectiva que puedes hacer:

Velocidad: Hasta 10 veces más rápidos que los HDD tradicionales Durabilidad: Sin partes móviles, resisten mejor los golpes Consumo: Menor gasto energético, más duración de batería Ruido: Funcionamiento completamente silencioso

Tipos de SSD

SATA SSD:

  • Compatibles con laptops más antiguas
  • Velocidades hasta 550 MB/s
  • Precio más accesible

NVMe M.2:

  • Para laptops modernas
  • Velocidades hasta 3,500 MB/s
  • Formato más compacto

mSATA:

  • Para laptops ultradelgadas
  • Velocidades intermedias
  • Menor disponibilidad

Proceso de Instalación

Verificar compatibilidad:

  1. Consulta el manual de tu laptop
  2. Identifica el tipo de conexión disponible
  3. Mide el espacio físico disponible

Clonación del disco:

  1. Descarga software de clonación (Clonezilla, Macrium Reflect)
  2. Conecta el SSD nuevo vía USB
  3. Clona completamente el disco antiguo
  4. Verifica la integridad de los datos

Instalación física:

  1. Apaga completamente la laptop
  2. Desconecta la batería (si es removible)
  3. Localiza y desconecta el disco antiguo
  4. Instala el SSD nuevo en la misma conexión
  5. Asegura con tornillos y reconecta cables

Primera configuración:

  • Verifica que el sistema arranque correctamente
  • Ejecuta una desfragmentación (solo HDD)
  • Habilita TRIM para SSD en Windows: fsutil behavior set DisableDeleteNotify 0

Ampliación de Memoria RAM

Cuánta RAM Necesitas

Uso básico (navegación, oficina): 8GB mínimo Multitarea intensiva: 16GB recomendado Trabajo profesional (diseño, programación): 32GB o más

Tipos de Memoria RAM

DDR3: Para laptops de 2008-2014 DDR4: Para laptops de 2014-2020 DDR5: Para laptops más recientes (2021+)

Factores de forma:

  • SO-DIMM: Estándar para laptops
  • Diferentes voltajes: 1.5v (DDR3), 1.2v (DDR4), 1.1v (DDR5)

Instalación de RAM

Verificación previa:

  1. Identifica slots disponibles
  2. Confirma tipo y velocidad soportada
  3. Verifica si tiene un slot libre o necesitas reemplazar

Proceso de instalación:

  1. Apaga y desconecta completamente la laptop
  2. Localiza los slots de memoria (generalmente bajo una tapa)
  3. Libera las pestañas laterales del módulo actual
  4. Inserta el nuevo módulo en ángulo de 45°
  5. Presiona hacia abajo hasta que las pestañas se enganchen
  6. Enciende y verifica reconocimiento en BIOS/UEFI

Configuración dual channel:

  • Instala módulos idénticos en pares
  • Usa slots del mismo color si están marcados
  • Verifica velocidades compatibles

Mantenimiento Físico

Limpieza Interna

Herramientas necesarias:

  • Aire comprimido
  • Destornilladores de precisión
  • Pinceles antiestáticos
  • Pasta térmica nueva

Proceso de limpieza:

  1. Desmonta la carcasa siguiendo el manual
  2. Usa aire comprimido para remover polvo del ventilador
  3. Limpia aspas del ventilador con pincel suave
  4. Remueve polvo de disipadores de calor
  5. Limpia contactos de RAM con alcohol isopropílico

Renovación de pasta térmica:

  1. Remueve el disipador del procesador
  2. Limpia completamente la pasta térmica antigua
  3. Aplica una cantidad mínima de pasta nueva (tamaño de grano de arroz)
  4. Reinstala el disipador con presión uniforme

Sistemas Operativos Ligeros

Linux: La Alternativa Perfecta

¿Por Qué Cambiar a Linux?

Menor consumo de recursos: Funciona bien con 2GB de RAM Mayor velocidad: Arranque en menos de 30 segundos Seguridad superior: Menos vulnerable a virus y malware Totalmente gratuito: Sin costos de licencias Personalización completa: Adapta la interfaz a tus necesidades

Distribuciones Recomendadas para Laptops Antiguas

Lubuntu:

  • Basado en Ubuntu con interfaz LXQt
  • Requiere mínimo 1GB RAM
  • Muy estable y fácil de usar
  • Incluye software esencial preinstalado

Xubuntu:

  • Ubuntu con escritorio XFCE
  • Balance perfecto entre funcionalidad y rendimiento
  • Requiere 2GB RAM mínimo
  • Amplio soporte de la comunidad

Linux Mint XFCE:

  • Extremadamente amigable para principiantes
  • Interfaz similar a Windows
  • Excelente detección de hardware
  • Incluye codecs multimedia

Puppy Linux:

  • Ultra ligero (menos de 500MB)
  • Funciona desde USB sin instalación
  • Ideal para hardware muy limitado
  • Curva de aprendizaje más pronunciada

antiX:

  • Basado en Debian
  • Funciona con 256MB RAM
  • Sin systemd para mayor velocidad
  • Perfecto para hardware extremadamente antiguo

Instalación de Lubuntu (Paso a Paso)

Preparación:

  1. Descarga Lubuntu desde lubuntu.net
  2. Crea USB booteable con Rufus (Windows) o dd (Linux)
  3. Haz respaldo completo de datos importantes
  4. Verifica que la laptop pueda arrancar desde USB

Proceso de instalación:

  1. Arranca desde USB y selecciona "Try Lubuntu"
  2. Prueba que todo el hardware funcione correctamente
  3. Ejecuta el instalador desde el escritorio
  4. Selecciona idioma y zona horaria
  5. Particiona el disco (usa asistente automático para principiantes)
  6. Crea usuario y contraseña
  7. Espera la instalación (15-30 minutos)
  8. Reinicia y retira el USB

Configuración inicial:

# Actualizar sistema
sudo apt update && sudo apt upgrade

# Instalar software adicional esencial
sudo apt install firefox-esr libreoffice vlc gimp

# Configurar firewall
sudo ufw enable

# Instalar codecs multimedia
sudo apt install ubuntu-restricted-extras

Optimización Post-Instalación

Reducir servicios innecesarios:

# Ver servicios activos
systemctl list-unit-files --type=service --state=enabled

# Deshabilitar servicios opcionales
sudo systemctl disable bluetooth
sudo systemctl disable cups (si no usas impresora)

Configurar intercambio (swap):

# Verificar swap actual
free -h

# Ajustar tendencia a usar swap
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf

Optimizar arranque:

# Instalar preload para precarga inteligente
sudo apt install preload

# Configurar Plymouth para arranque más rápido
sudo update-initramfs -u

Alternativas de Windows Ligeras

Windows 10 LTSC

Características:

  • Sin aplicaciones preinstaladas innecesarias
  • Sin actualizaciones automáticas de características
  • Menor consumo de recursos
  • Soporte extendido hasta 2029

Consideraciones:

  • Requiere licencia empresarial
  • Sin Microsoft Store por defecto
  • Actualizaciones de seguridad únicamente

Configuración Optimizada de Windows 10/11

Desactivar funciones innecesarias:

  1. Cortana y búsqueda web
  2. OneDrive (si no lo usas)
  3. Aplicaciones en segundo plano
  4. Efectos visuales animados
  5. Indexación de archivos completa

Servicios a deshabilitar:

  • Windows Search (si no buscas archivos frecuentemente)
  • Print Spooler (sin impresora)
  • Fax Service
  • Secondary Logon
  • Windows Error Reporting

Herramientas de Optimización

Software de Limpieza Automática

CCleaner (Windows/Mac)

Funciones principales:

  • Limpieza de archivos temporales
  • Registro de Windows
  • Desinstalación de programas
  • Gestión de inicio

Configuración recomendada:

  1. Habilita limpieza automática semanal
  2. Excluye cookies de sitios importantes
  3. Activa limpieza de registro con respaldo
  4. Programa análisis de duplicados mensuales

BleachBit (Linux/Windows)

Ventajas:

  • Completamente gratuito y open source
  • Limpieza más profunda que CCleaner
  • Compatible con múltiples sistemas
  • Sin características premium bloqueadas

Uso básico:

# Instalar en Ubuntu/Debian
sudo apt install bleachbit

# Limpiar como usuario normal
bleachbit --clean system.cache

# Limpiar como administrador (más efectivo)
sudo bleachbit --clean system.tmp

Monitoreo de Rendimiento

HWiNFO64 (Windows)

Características:

  • Monitoreo completo de hardware
  • Temperaturas en tiempo real
  • Velocidades de ventiladores
  • Voltajes y sensores

Configuración de alertas:

  1. Configura límites de temperatura (CPU < 80°C)
  2. Alerta por uso excesivo de RAM (> 90%)
  3. Monitoreo de velocidades de SSD
  4. Registro de datos para análisis posterior

htop y iotop (Linux)

htop para procesos:

# Instalar htop
sudo apt install htop

# Ejecutar con colores y información extendida
htop

iotop para E/S de disco:

# Instalar iotop
sudo apt install iotop

# Monitorear actividad de disco
sudo iotop -o

Gestión de Energía

Perfiles de Energía Optimizados

Windows:

  1. Panel de Control > Opciones de energía
  2. Crear plan personalizado
  3. Configurar suspensión de pantalla: 5 minutos
  4. Suspensión del sistema: 15 minutos
  5. Configurar CPU máximo: 95% (reduce calor)

Linux (TLP):

# Instalar TLP para gestión automática
sudo apt install tlp tlp-rdw

# Activar servicio
sudo systemctl enable tlp

# Configurar para máximo rendimiento/batería
sudo tlp-stat -b  # estado de batería

macOS:

  1. Preferencias > Ahorro de Energía
  2. Configura suspensión automática
  3. Reduce brillo de pantalla
  4. Desactiva despertar automático para acceso de red

Mantenimiento Preventivo

Rutinas de Limpieza

Semanal

  • Reiniciar completamente al menos una vez
  • Cerrar programas no utilizados
  • Verificar espacio disponible en disco
  • Limpiar archivos de descargas

Mensual

  • Ejecutar antivirus completo
  • Limpiar archivos temporales
  • Actualizar software y drivers
  • Revisar programas instalados innecesarios

Trimestral

  • Limpieza física externa e interna
  • Verificar temperaturas de funcionamiento
  • Desfragmentar HDD (no SSD)
  • Revisar estado de batería

Anual

  • Renovar pasta térmica
  • Verificar integridad del disco duro
  • Evaluar necesidad de upgrades
  • Respaldo completo del sistema

Señales de Advertencia

Cuándo Buscar Ayuda Profesional

Problemas de hardware críticos:

  • Pantalla con líneas o pixels muertos
  • Sonidos extraños del disco duro
  • Sobrecalentamiento extremo (> 90°C)
  • Fallas intermitentes de memoria RAM
  • Batería que no carga o se hincha

Síntomas de falla inminente:

  • Pantallas azules frecuentes
  • Pérdida de datos inexplicable
  • Arranque intermitente
  • Errores de lectura de disco
  • Apagados súbitos

Cuándo Es Hora de Reemplazar

Evaluación Costo-Beneficio

Factores a considerar:

  • Edad del equipo (más de 8 años)
  • Costo de reparaciones vs precio de equipo nuevo
  • Disponibilidad de repuestos
  • Compatibilidad con software actual
  • Necesidades de rendimiento actuales

Señales definitivas de reemplazo:

  • Motherboard dañada
  • Pantalla rota (costo > 60% del valor del equipo)
  • CPU que no soporta software moderno
  • RAM soldada insuficiente e no ampliable
  • Múltiples componentes fallando simultáneamente

Casos de Estudio Reales

Caso 1: Laptop Dell Inspiron 15 (2012)

Problema inicial:

  • Arranque de 5 minutos
  • Uso de RAM constante al 95%
  • Ventilador a máxima velocidad
  • Cuelgues frecuentes

Soluciones aplicadas:

  1. Reemplazo de HDD 500GB por SSD 250GB
  2. Upgrade de RAM de 4GB a 8GB DDR3
  3. Instalación de Lubuntu 22.04
  4. Limpieza completa y renovación de pasta térmica

Resultados:

  • Arranque reducido a 25 segundos
  • Uso de RAM normal del 35%
  • Temperatura CPU reducida 15°C
  • Zero cuelgues en 6 meses de uso

Costo total: $80 USD (SSD + RAM)

Caso 2: MacBook Pro 13" (2015)

Problema inicial:

  • macOS Monterey extremadamente lento
  • Aplicaciones tardando 30+ segundos en abrir
  • Ventilador constante
  • Batería durando 2 horas

Soluciones aplicadas:

  1. Downgrade a macOS Big Sur
  2. Limpieza completa de archivos cache
  3. Reemplazo de SSD original de 128GB por 512GB
  4. Optimización de aplicaciones de inicio
  5. Calibración de batería

Resultados:

  • Velocidad normal restaurada
  • Aplicaciones abren en 3-5 segundos
  • Temperatura normal de funcionamiento
  • Batería durando 6+ horas

Costo total: $120 USD (SSD compatible)

Caso 3: Laptop HP Pavilion (2010)

Problema inicial:

  • Windows 10 imposible de usar
  • 2GB RAM insuficiente
  • HDD de 320GB al 95% capacidad
  • Múltiples virus detectados

Soluciones aplicadas:

  1. Formateo completo e instalación de antiX Linux
  2. Upgrade a 4GB RAM DDR3
  3. Limpieza física completa
  4. Configuración de software mínimo esencial

Resultados:

  • Sistema completamente funcional para tareas básicas
  • Navegación web fluida
  • Arranque en 45 segundos
  • Funcionamiento estable por 2+ años

Costo total: $25 USD (RAM únicamente)

Conclusión

Revivir una laptop lenta no requiere conocimientos técnicos avanzados, solo paciencia y las herramientas correctas. La mayoría de equipos pueden obtener una segunda vida útil con inversiones mínimas.

Prioridades de Mejora

Para máximo impacto:

  1. SSD - La mejora más notoria inmediatamente
  2. Más RAM - Elimina cuellos de botella de memoria
  3. Sistema operativo ligero - Reduce carga en hardware limitado
  4. Limpieza física - Previene sobrecalentamiento

Inversión vs Beneficio

Equipos de 2-5 años: Worth upgrading con SSD + RAM Equipos de 5-8 años: Considera Linux + limpieza profunda Equipos de 8+ años: Evalúa costo vs laptop nueva básica

Última Recomendación

No deseches una laptop lenta sin probar estas soluciones. En el 80% de los casos, una combinación de SSD, más RAM y sistema operativo optimizado puede dar 3-5 años adicionales de vida útil.

La tecnología avanza, pero las necesidades básicas de computación permanecen constantes. Una laptop bien optimizada de 2015 puede satisfacer perfectamente las necesidades de oficina, navegación y multimedia en 2025.

¿Tu laptop sigue siendo lenta después de aplicar esta guía? Es momento de considerar un equipo nuevo, pero habrás aprendido valiosas habilidades de mantenimiento que mantendrán tu próximo equipo funcionando óptimamente por más tiempo.

domingo, junio 29, 2025

Cómo la Analítica de Datos y los Grafos Pueden Desenmascarar la Corrupción

La causa "Cuadernos de la Corrupción", uno de los mayores escándalos de coimas en Argentina, reveló un sistema de pagos ilegales entre empresarios y funcionarios durante los gobiernos kirchneristas. Miles de anotaciones manuscritas detallaban entregas de dinero en bolsos y maletines, pero interpretar esa información de manera aislada no alcanza para entender la red completa. Aquí es donde el análisis de grafos y la visualización de datos se vuelven herramientas clave para reconstruir las conexiones ocultas y descubrir patrones de corrupción sistémica.

El primer paso sería recopilar y estructurar los datos de los cuadernos, que incluyen nombres de funcionarios, empresarios, montos, fechas y lugares de entrega. También habría que cruzar esta información con registros públicos, como contratos del Estado, declaraciones juradas y movimientos bancarios sospechosos. Por ejemplo, si en los cuadernos aparece un pago a un secretario de Obras Públicas, podríamos buscar si días después se aprobó un contrato millonario a una empresa vinculada. Herramientas como Python (Pandas) o OpenRefine ayudarían a limpiar y estandarizar los datos, corrigiendo variaciones en nombres (ej: "Julio López" vs. "J. López") y unificando formatos de fechas y montos.

Una vez organizada la información, el siguiente paso sería construir un grafo de relaciones usando herramientas como Graphviz (DOT) o Gephi. Cada nodo representaría un actor (funcionarios, empresarios, empresas intermediarias), y las aristas mostrarían las conexiones entre ellos (pagos, reuniones, contratos). Por ejemplo, si los cuadernos mencionan que el empresario Lázaro Báez entregó dinero a un funcionario, el grafo permitiría ver no solo ese vínculo directo, sino también cómo Báez estaba conectado con otras figuras clave, como Cristóbal López o exfuncionarios del Ministerio de Planificación Federal.

Un análisis más profundo con métricas de centralidad en Gephi revelaría quiénes eran los nodos más importantes en la red de corrupción. Por ejemplo, si un mismo intermediario aparecía vinculado a múltiples pagos, su posición en el grafo lo marcaría como un eje clave del esquema. Además, algoritmos de detección de comunidades podrían mostrar si existían grupos cerrados que operaban de manera coordinada, como un círculo de empresarios que solo pagaban a ciertos funcionarios a cambio de licitaciones amañadas.

Para entender la evolución temporal del caso, sería útil crear una línea de tiempo interactiva con Mermaid.js. Allí podríamos mapear eventos clave, como cuándo comenzaron los pagos, cuándo se adjudicaron obras sospechosas y cuándo se produjeron allanamientos o detenciones. Por ejemplo, si en 2013 aumentaron las anotaciones de pagos y en ese mismo año se licitaron varias autopistas a empresas vinculadas, la línea de tiempo ayudaría a establecer una correlación clara entre sobornos y beneficios económicos.

Un aspecto interesante sería superponer el grafo con la línea de tiempo para ver cómo cambiaban las relaciones a lo largo de los años. Por ejemplo, si ciertos funcionarios dejaron de aparecer en los cuadernos después de un cambio de gobierno, pero nuevos nombres ocuparon su lugar, esto sugeriría que el sistema de coimas se adaptaba a los cambios políticos. Herramientas como Maltego o incluso Power BI podrían ayudar en este tipo de análisis dinámico.

Finalmente, este enfoque no solo serviría para investigar lo ocurrido, sino también para prevenir futuros casos. Si se detecta que ciertos mecanismos (como empresas "pantalla" o contratos directos sin licitación) fueron recurrentes, los organismos de control podrían monitorear esas señales de alerta en tiempo real. Plataformas como Neo4j (una base de datos de grafos) permitirían incluso automatizar la detección de patrones sospechosos en nuevas bases de datos públicas.

En conclusión, los "Cuadernos de la Corrupción" son un caso ideal para demostrar el poder del análisis de grafos y la visualización de datos. Estas técnicas permiten transformar miles de anotaciones dispersas en un mapa claro de responsabilidades, ayudando a fiscales, periodistas y ciudadanos a entender la magnitud de los esquemas corruptos. Con herramientas de código abierto como Gephi, Cytoscape, Python y Mermaid.js, cualquier investigador puede aplicar estos métodos para seguir el dinero y descubrir la verdad detrás de los datos.

viernes, abril 18, 2025

¡FLISOL 2025: Festival Latinoamericano de Instalación de Software Libre! , el 26 de Abril

El próximo 26 de abril de 2025 se llevará a cabo el Festival Latinoamericano de Instalación de Software Libre (FLISOL) en diversas sedes a lo largo del país. Este evento, que se realiza anualmente el cuarto sábado de abril, tiene como objetivo principal promover el uso y la difusión del software libre, acercando a la comunidad a la filosofía, alcances, avances y desarrollo de este movimiento global.

Sedes y Actividades Destacadas


Ciudad Autónoma de Buenos Aires (CABA)

En la sede de CABA, ubicada en Av. Triunvirato 3174, se ofrecerán una variedad de charlas y talleres, entre los que se destacan:

Quilmes

En la sede de Quilmes, ubicada en el Centro de Formación Profesional Nº405 "Héctor Vassallo" (Belgrano N°950 - Don Bosco), habrá charlas introductorias y talleres como:

  • Diseño 3D con Software Libre
  • Herramientas para aprender a programar en la escuela: Pilas Bloques, Scratch, Gobstones, Processing y Arduino.

José C. Paz

En la sede de José C. Paz, ubicada en Leandro N. Alem 4731, se llevarán a cabo diversas charlas, entre las que se incluyen:

  • Dockerizate: ¡Dockerizate!: Descubrí el mundo Docker: aprendé a crear contenedores, automatizar entornos y dar tus primeros pasos en esta tecnología de software libre.
  • Descubriendo el hacking ético con Hack The Box: Animate a tu primer hackeo ético utilizando herramientas y sistemas operativos open source como Kali Linux, OpenVPN, Nmap y más.
  • Godot Engine: Animaciones y FX para mejorar el feeling de tu juego
  • Publicar, Proteger y Escalar con NGINX
  • Odoo community, el ERP de código abierto de mayor crecimiento mundial
  • Impresión 3D y software libre
  • Estándares abiertos y accesibilidad
  • Taller de impresión 3D con impresoras cartesianas y software libre
  • Robótica con Arduino desde cero

Otras Sedes

Además de las sedes mencionadas, el FLISOL 2025 contará con la participación de diversas ciudades, entre las que se incluyen:

  • Córdoba: Ubicada en Ciudad Universitaria.
  • San Cristobal: Ubicada en Alvear 646.
  • Sierras Chicas: Ubicada en Dermidio Loza 252, Río Ceballos, Córdoba.
  • San Juan: Ubicada en Avenida Ignacio de la Roza 590.
  • Villa Mercedes: Ubicada en Las Heras 383.
  • La Plata: Ubicada en calle 120 y 50.
  • Salta: Ubicada en Av. Bolivia 5150.
  • Florencio Varela: Ubicada en Av. Calchaquí 6200.
  • San Francisco: Ubicada en Bv. 9 de Julio 1700.

Actividades Paralelas

En todas las sedes, además de las charlas y talleres, se realizarán instalaciones de software libre en las computadoras de los asistentes, y se ofrecerán espacios para el intercambio de conocimientos y la creación de lazos entre los participantes.

Entrada Gratuita

La entrada a todas las sedes del FLISOL es gratuita y abierta a todo público, sin necesidad de conocimientos previos. La comunidad de software libre invita a todos a participar y descubrir las ventajas y oportunidades que ofrece este movimiento global.

sábado, junio 22, 2024

¿Qué es el PCB en el ámbito de los Sistemas Operativos?

En el fascinante mundo de los sistemas operativos, hay varios conceptos y estructuras que facilitan la gestión eficiente de los procesos. Uno de los más cruciales es el PCB (Process Control Block). Si alguna vez te has preguntado cómo un sistema operativo mantiene el orden y control de los procesos en ejecución, el PCB es la clave para entenderlo. Vamos a desglosar qué es el PCB, su estructura y su importancia en el ámbito de los sistemas operativos.

Definición de PCB

El PCB, o Bloque de Control de Proceso, es una estructura de datos que utiliza el sistema operativo para almacenar toda la información relacionada con un proceso específico. En términos sencillos, puedes imaginar el PCB como una ficha técnica que contiene todos los detalles necesarios para la gestión y supervisión de un proceso.

Contenido del PCB

El PCB incluye varios tipos de información cruciales para la administración de procesos. A continuación, detallamos algunos de los elementos más importantes que típicamente componen un PCB:

  1. Identificación del Proceso:

    • PID (Process Identifier): Un identificador único que distingue a cada proceso dentro del sistema.
  2. Estado del Proceso:

    • Información sobre el estado actual del proceso, que puede ser nuevo, listo, en ejecución, en espera o terminado.
  3. Contexto de la CPU:

    • Registros de la CPU, incluyendo el contador de programa, registros generales, y otros valores que permiten al proceso continuar su ejecución desde el punto donde fue interrumpido.
  4. Información de Control de Procesos:

    • Datos sobre prioridades, punteros a otros procesos (padres, hijos), y otros atributos de control y gestión.
  5. Memoria Asignada:

    • Detalles sobre los segmentos de memoria asignados al proceso, incluyendo segmentos de código, datos y pila.
  6. Información de Archivos:

    • Referencias a los archivos que el proceso tiene abiertos y las posiciones actuales de lectura/escritura en esos archivos.

Función del PCB en la Gestión de Procesos

El PCB es esencial para la multitarea y la gestión eficiente de procesos en un sistema operativo. Aquí hay algunas funciones clave que desempeña:

  1. Cambio de Contexto:

    • Durante el cambio de contexto, el sistema operativo guarda el estado de la CPU y otra información crítica del proceso en su PCB y carga el estado del siguiente proceso a ejecutar desde su PCB. Esto permite que múltiples procesos compartan la CPU de manera efectiva.
  2. Seguimiento del Estado del Proceso:

    • Manteniendo un registro del estado de cada proceso, el sistema operativo puede gestionar las transiciones entre diferentes estados de manera ordenada y eficiente.
  3. Administración de Recursos:

    • El PCB ayuda en la administración de recursos asignados a cada proceso, asegurando que no haya conflictos y optimizando el uso de la memoria y otros recursos del sistema.

Importancia del PCB

La importancia del PCB no puede subestimarse. Sin el PCB, el sistema operativo no podría realizar un seguimiento adecuado de los procesos, lo que resultaría en una gestión ineficiente y caótica de los recursos. Gracias al PCB, los sistemas operativos modernos pueden soportar múltiples procesos simultáneamente, proporcionando una experiencia de usuario fluida y eficiente.

Conclusión

El PCB es una pieza fundamental en el diseño y funcionamiento de los sistemas operativos. Esta estructura de datos permite al sistema operativo gestionar y controlar los procesos de manera eficaz, asegurando un rendimiento óptimo y la estabilidad del sistema. Con una comprensión clara del PCB, podemos apreciar mejor la complejidad y eficiencia detrás de los sistemas operativos que utilizamos diariamente.

jueves, abril 11, 2024

Argentina lanza Programa Nacional de Inteligencia Artificial en la Justicia para Modernizar el Sistema Judicial

El Ministerio de Justicia de Argentina ha dado un paso significativo hacia la modernización del sistema judicial del país con la promulgación de la Resolución 111/2024 el 9 de abril de 2024, mediante la cual se crea el "Programa Nacional Integral de Inteligencia Artificial en la Justicia". Esta iniciativa tiene como objetivo principal aprovechar las oportunidades que ofrece la tecnología para mejorar la eficiencia y la accesibilidad del sistema judicial argentino.

La resolución, que se fundamenta en el compromiso del país con la mejora continua del servicio de administración de justicia, reconoce el potencial transformador de la tecnología informática y la inteligencia artificial (IA) para reducir las brechas sociales en el acceso a la justicia y agilizar los procedimientos judiciales. Además, se destaca la importancia de garantizar un funcionamiento transparente y eficaz del sistema judicial, en consonancia con los principios establecidos en la Constitución Nacional.

La inteligencia artificial, definida por la Organización Mundial de la Propiedad Intelectual (OMPI) como un campo que busca desarrollar máquinas y sistemas capaces de realizar diversas tareas, se presenta como una herramienta clave en este esfuerzo por modernizar la justicia. Al aprovechar algoritmos y análisis de datos, la IA puede agilizar procesos, mejorar la calidad del servicio y garantizar un acceso equitativo a la información legal.

Entre los objetivos generales del Programa se encuentran promover el uso de la inteligencia artificial para mejorar los procedimientos judiciales, garantizar que su implementación sea respetuosa de los derechos fundamentales de los ciudadanos, y facilitar el acceso de la sociedad a mecanismos de protección de derechos de manera sencilla. Asimismo, se pretende instaurar herramientas basadas en IA que optimicen el trabajo de los actores involucrados en el sistema judicial.

El Programa estará dirigido por un Coordinador y contará con un Comité Consultivo integrado por especialistas en la materia. Se enfocará en actividades como la evaluación del impacto de la inteligencia artificial, la ejecución de proyectos en diversos ámbitos judiciales, el control de riesgos en su uso, la capacitación en ética de IA y el diálogo con diversos actores sociales interesados en el acceso y la resolución de procedimientos judiciales.

El Dr. Diego Carlos Guerendiain, Titular de la Unidad Gabinete de Asesores del Ministerio de Justicia, ha sido designado como Coordinador del Programa, destacando su experiencia y capacidad para liderar esta iniciativa.

Con la implementación de este Programa Nacional de Inteligencia Artificial en la Justicia, Argentina se sitúa a la vanguardia en la adopción de tecnologías emergentes para mejorar el sistema judicial, alineándose con estándares internacionales y promoviendo un acceso más equitativo y eficiente a la justicia para todos los ciudadanos.

miércoles, enero 17, 2024

Explorando el Poder del AS/400 y OS/400: Una Odisea en el Mundo de RPG y RPG/ILE

En el vasto universo de sistemas informáticos empresariales, el AS/400 y su sistema operativo OS/400 se destacan como titanes que han resistido la prueba del tiempo. En este artículo, nos aventuraremos en el fascinante mundo del AS/400, OS/400 y exploraremos la evolución de RPG (Report Program Generator) y RPG/ILE (Integrated Language Environment).

El Poder del AS/400 y OS/400

El AS/400, creado por IBM, fue introducido por primera vez en 1988, y rápidamente se ganó una reputación como una máquina robusta y confiable para procesamiento de datos empresariales. Su sistema operativo, OS/400, proporciona un entorno estable que ha respaldado operaciones críticas durante décadas.

RPG: Más que un Generador de Informes

RPG, originalmente diseñado como Report Program Generator, fue uno de los primeros lenguajes de programación orientados a negocios. A lo largo de los años, RPG ha evolucionado significativamente para abordar las demandas cambiantes de las aplicaciones empresariales.

RPG/ILE: Integración y Modernización

Con el surgimiento de la arquitectura de Integrated Language Environment (ILE), RPG dio un salto cualitativo en su capacidad y flexibilidad. RPG/ILE permitió la integración de diferentes lenguajes de programación, brindando a los desarrolladores la posibilidad de construir aplicaciones más complejas y modulares.

Características Clave de RPG/ILE:

  1. Procedimientos Almacenados: RPG/ILE introdujo la capacidad de definir procedimientos almacenados, facilitando la reutilización del código y la modularidad.

  2. Manejo de Excepciones: La capacidad de gestionar excepciones de manera más eficiente se convirtió en una característica esencial, mejorando la robustez de las aplicaciones.

  3. Programación Orientada a Objetos: RPG/ILE adoptó principios de programación orientada a objetos, permitiendo una programación más estructurada y fácil de mantener.

La Relevancia Continua de AS/400 y OS/400 en el Siglo XXI

Aunque puede parecer que el AS/400 y OS/400 pertenecen a una era más antigua, su relevancia perdura en el mundo empresarial actual. Muchas organizaciones confían en estas plataformas para operaciones críticas debido a su estabilidad, seguridad y capacidad para manejar grandes volúmenes de datos.

Comunidades Activas y Desarrollo Continuo

A pesar de su longevidad, el AS/400, OS/400 y RPG continúan evolucionando. Comunidades activas de usuarios y desarrolladores siguen explorando nuevas formas de modernizar y optimizar las aplicaciones existentes en estas plataformas.

Un Legado Duradero

En resumen, la travesía por el mundo del AS/400, OS/400, RPG y RPG/ILE nos lleva a través de décadas de innovación y adaptación. Aunque estos elementos forman parte de la historia informática, su legado perdura en las operaciones críticas de numerosas empresas. La capacidad de AS/400 y OS/400 para adaptarse y evolucionar destaca su papel fundamental en la infraestructura tecnológica empresarial. En un mundo donde la velocidad del cambio es constante, estas tecnologías demuestran que la solidez y la flexibilidad pueden coexistir, formando un legado duradero en la historia de la informática empresarial.

domingo, enero 14, 2024

Explorando el Pasado Tecnológico: IBM OS/2, el Sistema Operativo Olvidado

En el mundo en constante evolución de la tecnología, ciertos nombres resuenan con nostalgia entre los entusiastas y profesionales de la informática. Uno de esos nombres es IBM OS/2, un sistema operativo que, aunque en gran medida olvidado por el público en general, dejó una marca significativa en la historia de la computación.

El Origen de IBM OS/2

IBM OS/2 fue desarrollado en colaboración entre IBM y Microsoft en la década de 1980, destinado a ser el sucesor de MS-DOS. El sistema operativo vio la luz por primera vez en 1987, presentando capacidades avanzadas en comparación con su predecesor, como una interfaz gráfica de usuario y soporte para multitarea.

Características Innovadoras

  1. Multitarea y Multifunción: OS/2 fue pionero en la capacidad de ejecutar múltiples aplicaciones simultáneamente, algo revolucionario en su época.

  2. Interfaz Gráfica de Usuario (GUI): Aunque las versiones iniciales tenían una interfaz gráfica rudimentaria, las posteriores, como OS/2 Warp, presentaron mejoras significativas en diseño y usabilidad.

  3. Arquitectura RISC: OS/2 adoptó la arquitectura RISC (Reduced Instruction Set Computing), una elección audaz que influyó en futuros desarrollos de sistemas operativos.

Desafíos y Declive

A pesar de sus innovaciones, OS/2 enfrentó desafíos significativos. La colaboración entre IBM y Microsoft se volvió tensa, y eventualmente, cada empresa siguió su propio camino. Windows 3.0, lanzado en 1990, eclipsó a OS/2 en términos de popularidad.

Legado y Influencia

Aunque OS/2 no logró el éxito comercial masivo, su legado persiste. Muchas de las ideas introducidas por OS/2, como la multitarea y la arquitectura RISC, continuaron influyendo en el desarrollo de sistemas operativos modernos.

La Comunidad OS/2 Hoy

Sorprendentemente, existe una comunidad activa de usuarios y desarrolladores de OS/2 incluso hoy en día. Aunque el sistema operativo en sí ya no es comercialmente relevante, esta comunidad demuestra el impacto duradero que OS/2 tuvo en aquellos que lo utilizaron y apreciaron.

Conclusión

IBM OS/2 puede haber caído en el olvido para la mayoría, pero su historia sigue siendo fascinante para los entusiastas de la tecnología. Este sistema operativo, con su visión vanguardista y sus contribuciones al mundo de la informática, merece un lugar destacado en la narrativa de la evolución tecnológica. Aunque sus días de gloria hayan pasado, la influencia de OS/2 perdura, recordándonos la naturaleza dinámica y competitiva de la industria tecnológica.

viernes, mayo 19, 2023

Spyware : una amenaza aún latente

Si bien parece un tipo de amenaza no tan actual, lo cierto es que los software espías son una amenaza aún latente.

Pero empecemos por la definición de spyware: "un malware o software malicioso que recopila información de un ordenador y la envía a una entidad remota sin el consentimiento del propietario del ordenador".

Hace años eran mas frecuentes debido a los distintos tipos de bloatware / adware, pero con el correr del tiempo al usar repositorios para descargar software y a diversos controles por plataformas esta forma de distribución de spyware se vio reducida.

En la actualidad el spyware es usado ante funcionarios de alto rango, tal el caso de una noticia de Julio de 2022 donde se indicaba que crecieron los casos de spyware en el Parlamento Europeo.

Incluso el uso de este tipo de software espía ha sido utilizado por estados mediante procesos de compras para funciones, en principio, legítimas. Lo que ante diversos incidentes generó la intervención del gobierno de Biden, para armar listas de empresas que no se debe adquirir productos de este tipo.

Es importante considerar algunas medidas para reducir el riesgo de una infección por spyware:

  • Controlar las conexiones, para determinar comunicaciones sospechosas.
  • Ejecutar software antimalware en los distintos dispositivos
  • Realizar una auditoría de la red
  • Añadir medidas de protección en los sistemas operativos para reducir posibles infecciones

En pocas palabras: se requiere una seguridad activa para poder protegerse ante esta amenaza.

viernes, abril 07, 2023

22 de Abril FLISoL : La Universidad Nacional de General Sarmiento será una sede

El próximo 22 de abril, en la Universidad Nacional de General Sarmiento (UNGS), se llevará a cabo el Festival Latinoamericano de Instalación de Software Libre (FLISOL). Este evento tiene como objetivo promover el uso del software libre y difundir sus beneficios a la comunidad.

Durante el FLISOL, se llevarán a cabo charlas introductorias sobre software libre, que estarán a cargo de expertos en la materia. Estas charlas tienen como objetivo acercar a las personas a esta temática y explicarles qué es el software libre y su importancia en la actualidad.

Pero, ¿qué es el software libre? El software libre es aquel que respeta la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, modificar y mejorar el software. Esta definición fue establecida por la Free Software Foundation en 1983, y ha sido adoptada por muchos otros proyectos de software libre.

El desarrollo histórico del software libre se remonta a los primeros años de la computación. En la década de 1950, las computadoras eran grandes y costosas, y sólo estaban disponibles para las grandes empresas y universidades. Los programas de software eran creados por programadores, que a menudo trabajaban de forma colaborativa y compartían su código fuente con otros programadores.

Sin embargo, a medida que las computadoras se hicieron más pequeñas y menos costosas, los fabricantes comenzaron a vender paquetes de software propietario. Estos paquetes eran a menudo caros, y los usuarios no podían modificar el código fuente.

En respuesta a esto, Richard Stallman fundó la Free Software Foundation en 1985, con el objetivo de promover el software libre y crear una alternativa al software propietario. Desde entonces, ha habido un gran crecimiento en la comunidad de software libre, y muchos programas populares, como Linux y Firefox, son software libre.

¿Se puede usar Software Libre en organismos públicos?

En Argentina, muchos organismos públicos utilizan software libre en sus sistemas y procesos. Algunos ejemplos de software libre utilizado por organismos públicos en Argentina son:

-  GNU/Linux: Muchas instituciones gubernamentales, como la Universidad Nacional de La Plata y la Ciudad Autónoma de Buenos Aires, utilizan el sistema operativo GNU/Linux en sus servidores y estaciones de trabajo.

-  LibreOffice: El Ministerio de Educación de la Nación utiliza la suite ofimática LibreOffice en sus computadoras.

-  Moodle: La plataforma de educación virtual Moodle es utilizada por muchas universidades y organismos públicos en Argentina, como la Universidad Nacional de Córdoba y el Ministerio de Desarrollo Social.

-  Apache: El servidor web Apache es utilizado por muchos organismos públicos en Argentina para alojar sus sitios web y aplicaciones.

-  PostgreSQL: La base de datos PostgreSQL es utilizada por organismos públicos como la Universidad Nacional de La Plata y la Administración Nacional de la Seguridad Social (ANSES).

-  Drupal: El CMS Drupal es utilizado por muchos organismos públicos en Argentina para gestionar sus sitios web, como la Ciudad Autónoma de Buenos Aires y la Universidad Nacional de Quilmes.

¿Y en empresas?

-  WordPress: El CMS WordPress es utilizado por muchas empresas para gestionar sus sitios web y blogs, debido a su facilidad de uso y amplia variedad de plugins y temas disponibles.

-  SuiteCRM: La solución de gestión de relaciones con clientes (CRM) SuiteCRM es utilizada por algunas empresas en Argentina para administrar sus ventas, marketing y atención al cliente.

-  Odoo: El software de gestión empresarial Odoo es utilizado por algunas empresas en Argentina para gestionar sus operaciones de negocios, incluyendo finanzas, inventario y recursos humanos.

-  Nextcloud: La plataforma de almacenamiento en la nube Nextcloud es utilizada por algunas empresas en Argentina para compartir y colaborar en archivos y documentos, ofreciendo una alternativa segura y privada a servicios como Google Drive o Dropbox.

En general, el software libre es una opción cada vez más popular entre organismos públicos y en empresas en Argentina, ya que ofrece ventajas como seguridad, flexibilidad, una mayor libertad así cómo personalización y ahorro de costos.

El FLISOL es una excelente oportunidad para que las personas se introduzcan en el mundo del software libre y aprendan sobre su importancia y beneficios. Esperamos que este evento sea un éxito y que muchos se unan a esta comunidad en crecimiento. ¡Nos vemos en el FLISOL!

lunes, abril 03, 2023

¿ Qué herramientas utilizar para proteger una red informática ?

Hay varias herramientas de código abierto y software libre disponibles para proteger una red informática y los dispositivos. Algunas de las mejores herramientas son:

  1. Snort: es un sistema de detección de intrusiones en red (IDS) de código abierto y gratuito que puede monitorear el tráfico de red en tiempo real y alertar sobre cualquier actividad sospechosa.

  2. OSSEC: es un sistema de detección de intrusiones en host (HIDS) que puede monitorear archivos, logs, claves del registro y otras actividades del sistema para detectar intrusiones y alertar sobre ellas.

  3. Nmap: es una herramienta de escaneo de puertos que puede ayudar a detectar vulnerabilidades y configuraciones inseguras en los dispositivos conectados a la red.

  4. Wireshark: es una herramienta de análisis de tráfico de red que puede capturar y analizar el tráfico de red para detectar cualquier actividad sospechosa.

  5. OpenVAS: es un sistema de escaneo de vulnerabilidades que puede identificar vulnerabilidades en los dispositivos de la red y proporcionar recomendaciones de corrección.

  6. PFsense: es una solución de firewall de código abierto que puede proteger la red contra amenazas externas e internas.

  7. ClamAV: es un software de antivirus de código abierto que puede escanear archivos y correos electrónicos en busca de malware.

Es importante recordar que ninguna herramienta de seguridad puede garantizar la protección total de la red y los dispositivos. La seguridad cibernética es un proceso continuo que requiere una combinación de herramientas, procesos y educación para el usuario final.

sábado, abril 01, 2023

¿Qué es Assembler? Algunas de sus instrucciones básicas, y un ejemplo

Assembler es un lenguaje de bajo nivel que se utiliza para escribir programas que se ejecutan directamente en la CPU de una computadora. Las instrucciones de assembler son las instrucciones que la CPU entiende y que se utilizan para crear programas. A continuación, se explican algunas de las principales instrucciones de assembler y se dan algunos ejemplos:

  1. MOV: La instrucción MOV se utiliza para mover datos de una ubicación a otra. Por ejemplo, MOV AX, 100h mueve el valor hexadecimal 100h al registro AX.

  2. ADD: La instrucción ADD se utiliza para sumar dos valores y guardar el resultado en un registro. Por ejemplo, ADD AX, BX suma los valores de los registros AX y BX y guarda el resultado en AX.

  3. SUB: La instrucción SUB se utiliza para restar dos valores y guardar el resultado en un registro. Por ejemplo, SUB AX, BX resta los valores de los registros AX y BX y guarda el resultado en AX.

  4. JMP: La instrucción JMP se utiliza para saltar a una dirección de memoria específica. Por ejemplo, JMP 100h salta a la dirección de memoria 100h.

  5. CMP: La instrucción CMP se utiliza para comparar dos valores. Por ejemplo, CMP AX, BX compara los valores de los registros AX y BX.

  6. JE: La instrucción JE se utiliza para saltar a una dirección de memoria específica si la comparación anterior fue verdadera. Por ejemplo, CMP AX, BX seguido de JE Label salta a la etiqueta Label si los valores de AX y BX son iguales.

  7. JNE: La instrucción JNE se utiliza para saltar a una dirección de memoria específica si la comparación anterior fue falsa. Por ejemplo, CMP AX, BX seguido de JNE Label salta a la etiqueta Label si los valores de AX y BX son diferentes.

  8. PUSH: La instrucción PUSH se utiliza para colocar un valor en la pila. Por ejemplo, PUSH AX coloca el valor del registro AX en la pila.

  9. POP: La instrucción POP se utiliza para sacar un valor de la pila. Por ejemplo, POP BX saca un valor de la pila y lo guarda en el registro BX.

  10. CALL: La instrucción CALL se utiliza para llamar a una subrutina. Por ejemplo, CALL Subroutine salta a la dirección de memoria de la subrutina.

Aquí hay un ejemplo sencillo de assembler para la arquitectura x86 que muestra cómo sumar dos números y mostrar el resultado en la pantalla:

section .data
    mensaje db "La suma es: ", 0
    num1 dd 10
    num2 dd 20

section .text
    global _start

_start:
    ; mueve los números a los registros
    mov eax, [num1]
    mov ebx, [num2]

    ; suma los números
    add eax, ebx

    ; muestra el mensaje en la pantalla
    mov eax, 4
    mov ebx, 1
    mov ecx, mensaje
    mov edx, 14
    int 0x80

    ; muestra el resultado en la pantalla
    mov eax, 4
    mov ebx, 1
    mov ecx, eax
    mov edx, 1
    int 0x80

    ; termina el programa
    mov eax, 1
    xor ebx, ebx
    int 0x80
 

En este ejemplo, primero se definen los datos en la sección .data. El mensaje que se mostrará en la pantalla se define como una cadena de caracteres con el sufijo db, mientras que los números que se sumarán se definen como palabras dobles con el sufijo dd.

Luego, en la sección .text, se define la función _start, que es el punto de entrada del programa. En esta función, se mueven los números a los registros eax y ebx, se suman con la instrucción add, se muestra el mensaje en la pantalla con la llamada al sistema int 0x80 y se muestra el resultado de la suma también en la pantalla. Finalmente, el programa se termina con la llamada al sistema int 0x80.

Este es solo un ejemplo muy sencillo de assembler y hay muchas variaciones posibles dependiendo de la arquitectura de la CPU y el sistema operativo utilizado.

 

Algoritmo para realizar un algoritmo

Un algoritmo es un conjunto de instrucciones ordenadas que se utilizan para resolver un problema. Si eres nuevo en la programación o no sabes mucho sobre informática, aquí hay una explicación paso a paso sobre cómo crear un algoritmo:

  1. Definir el problema: Antes de comenzar a escribir un algoritmo, es importante entender el problema que se está tratando de resolver. Debe tener una comprensión clara del problema y saber lo que se espera como resultado.

  2. Identificar los datos de entrada: Una vez que se comprende el problema, se deben identificar los datos de entrada necesarios para resolver el problema. Los datos de entrada son los valores que se ingresan en el programa para procesar y producir un resultado.

  3. Identificar los datos de salida: Después de identificar los datos de entrada, se deben identificar los datos de salida que se esperan como resultado. Estos son los valores que el programa debe producir después de procesar los datos de entrada.

  4. Escribir los pasos del algoritmo: Una vez que se conocen los datos de entrada y salida, se pueden escribir los pasos del algoritmo. Los pasos deben estar escritos de manera clara y detallada para que cualquier persona pueda entenderlo.

  5. Probar el algoritmo: Una vez que se ha escrito el algoritmo, es importante probarlo para asegurarse de que funcione correctamente. Puedes hacerlo a mano siguiendo los pasos del algoritmo con algunos datos de entrada para verificar que el resultado sea el esperado.

  6. Implementar el algoritmo: Después de probar el algoritmo, se puede implementar en un lenguaje de programación como C++, Python, Java, etc. Los lenguajes de programación tienen diferentes sintaxis, pero la lógica detrás de los pasos del algoritmo es la misma.

  7. Probar el programa: Una vez que el programa está escrito, debes probarlo con diferentes datos de entrada para asegurarte de que funcione correctamente.

Siguiendo estos pasos, puedes crear un algoritmo y un programa para resolver cualquier problema.

10 ejercicios comunes de algoritmos y estructuras de datos

10 ejercicios comunes de algoritmos y estructuras de datos para aprender a programar:

  1. Ordenamiento de arrays: Implementar algoritmos de ordenamiento como bubble sort, insertion sort, selection sort, quicksort y mergesort.

  2. Búsqueda en arrays: Implementar algoritmos de búsqueda como búsqueda lineal y búsqueda binaria.

  3. Pilas y colas: Implementar pilas y colas utilizando arreglos o listas enlazadas.

  4. Árboles binarios: Implementar árboles binarios y sus operaciones de inserción, eliminación y búsqueda.

  5. Árboles de búsqueda binaria: Implementar árboles de búsqueda binaria y sus operaciones de inserción, eliminación y búsqueda.

  6. Grafos: Implementar grafos y sus operaciones como búsqueda en profundidad y búsqueda en anchura.

  7. Recursión: Implementar algoritmos recursivos como factorial, Fibonacci y torres de Hanoi.

  8. Algoritmos de camino más corto: Implementar algoritmos como Dijkstra y Bellman-Ford para encontrar el camino más corto en un grafo.

  9. Algoritmos de árbol de cobertura mínima: Implementar algoritmos como Prim y Kruskal para encontrar el árbol de cobertura mínima de un grafo.

  10. Algoritmos de orden topológico: Implementar algoritmos para encontrar el orden topológico de un grafo dirigido.

¿Porqué es importante cifrar las comunicaciones? : algunas herramientas libres y gratuitas

El cifrado es importante en las comunicaciones porque protege la privacidad y la seguridad de la información que se transmite, evitando que terceros no autorizados puedan acceder a ella.

Por ejemplo, imagina que tienes que enviar un correo electrónico con información confidencial, como tu número de tarjeta de crédito o tu contraseña de acceso a una cuenta en línea. Si envías este correo sin cifrar, cualquier persona que tenga acceso a la red en la que se está transmitiendo el correo podría interceptarlo y leer el contenido. Esto podría poner en riesgo tu seguridad financiera o tu identidad digital.

Sin embargo, si utilizas cifrado para proteger el correo electrónico, el mensaje se convierte en un texto ilegible para cualquier persona que no tenga la clave de descifrado. Esto significa que, incluso si un tercero intercepta el correo, no podrá leer su contenido.

Otro ejemplo práctico del uso del cifrado es cuando se utiliza para proteger los datos que se transmiten en una transacción financiera en línea. Si los datos de la transacción no están cifrados, podrían ser interceptados por un tercero que pudiera manipularlos o robar la información financiera. Pero si se utiliza cifrado para proteger los datos de la transacción, se garantiza que solo el destinatario autorizado pueda leer y procesar la información.

10 software de cifrado de código abierto y software libre que son compatibles con Windows, Linux y Mac:

  1. GnuPG (GPG): Es una herramienta de cifrado y firma digital de datos que utiliza el estándar OpenPGP. Es compatible con una gran variedad de sistemas operativos.

  2. VeraCrypt: Es una herramienta de cifrado de disco duro. Utiliza los algoritmos de cifrado más seguros, incluyendo AES, Serpent y Twofish.

  3. OpenSSL: Es una herramienta de cifrado de código abierto que proporciona una biblioteca criptográfica para aplicaciones de software.

  4. AxCrypt: Es una herramienta de cifrado de archivos. Es fácil de usar y utiliza cifrado AES-256.

  5. TrueCrypt: Es una herramienta de cifrado de disco duro. Ofrece cifrado de disco completo y oculta el contenido del disco.

  6. Cryptomator: Es una herramienta de cifrado de archivos. Ofrece cifrado AES y se integra con servicios en la nube como Dropbox, Google Drive y otros.

  7. Gnome Encfs Manager: Es una herramienta de cifrado de archivos. Utiliza el sistema de archivos EncFS para cifrar archivos y directorios.

  8. LUKS: Es una herramienta de cifrado de disco duro. Utiliza cifrado AES y es compatible con los sistemas de archivos más populares.

  9. dm-crypt/LUKS: Es una herramienta de cifrado de disco duro. Es fácil de usar y utiliza cifrado AES.

  10. EncFS: Es una herramienta de cifrado de archivos. Utiliza cifrado AES y se integra con el sistema de archivos del sistema operativo.

Estas son solo algunas de las opciones disponibles para cifrado de datos de código abierto y software libre. Es importante recordar que antes de utilizar cualquier herramienta de cifrado, se deben entender las implicaciones de su uso y cómo se debe configurar correctamente para garantizar la seguridad de la información.

En resumen, el cifrado es importante porque protege la privacidad y la seguridad de la información en las comunicaciones, lo que es especialmente crítico en situaciones en las que se comparten datos sensibles o confidenciales.

lunes, mayo 23, 2022

Principio de "buena fe" (no es una carta blanca): el Departamento de Justicia de EEUU define su política sobre cargos bajo la Ley de Abuso y Fraude Informático

En una publicación realizada el día 19 de Mayo de 2022, el Departamento de Justicia de Estados Unidos (DoJ), explicó las política con respecto a los cargos por violaciones de la Ley de Abuso y Fraude Informático (CFAA).

De forma explícita la fiscal general Lisa O. Monaco expresa: “La investigación sobre seguridad informática es un factor clave para mejorar la seguridad cibernética”. Y en este sentido el documento manifiesta que la actual política aclara que no se busca perseguir a investigadores de seguridad informática que realicen sus actividades de "buena fe".

A su vez se desarrolla que el principio de buena fe implica que "acceder a una computadora únicamente con fines de prueba, investigación y/o corrección de buena fe de una falla o vulnerabilidad de seguridad, cuando dicha actividad se lleva a cabo de una manera diseñada para evitar cualquier daño a las personas o al público. y cuando la información derivada de la actividad se utilice principalmente para promover la seguridad de la clase de dispositivos, máquinas o servicios en línea a la que pertenece la computadora a la que se accede, o aquellos que usan dichos dispositivos, máquinas o servicios en línea."

Vale aclarar dos aspectos relevantes, el primero que "la nueva política reconoce que afirmar que se está realizando una investigación de seguridad no es un pase libre para aquellos que actúan de mala fe", y explica que "Por ejemplo, descubrir vulnerabilidades en los dispositivos para extorsionar a sus propietarios, incluso si se afirma que es una "investigación", no es de buena fe."

A su vez que la no persecución penal pública, no implica per se que particulares que se sientan damnificados no puedan realizar alguna acción civil privada por considerarse afectados por alguna actividad que le genere algún perjuicio.

A grandes rasgos el documento explica los límites respecto de lo que el departamento de EEUU considera valido o no para la persecución penal, definiendo explícitamente que no es un "free pass" (carta blanca), para que cualquier investigador realice actos ilícitos.

Cabe destacar que existen buenas prácticas para la divulgación responsable de vulnerabilidades, y el uso de las mismas podría dar fe de "buena fe",  y el RFC 9116 "Un formato de archivo para ayudar en la divulgación de vulnerabilidades de seguridad" (security.txt) también puede ser de ayuda para entender el concepto de buena fe.

A su vez se destaca que según un estudio realizado por Kenna Security y el Instituto Cyentia denominado "Prioritization to Prediction Volume 6: The Attacker-Defender Divide", se concluye que una divulgación de vulnerabilidades y de códigos de explotación responsable para facilitar el trabajo de los defensores.

Se puede acceder a el anuncio de prensa y el documento completo del DoJ.

jueves, diciembre 02, 2021

¿Qué son los metadatos?

Los metadatos son los "datos sobre los datos", es una forma de etiquetar o clasificar la información con otra información de referencia.

La utilidad de los metadatos es que permiten poder agrupar y agilizar el proceso de análisis.

Los metadatos se pueden asemejar con un índice, y facilitar diversas tareas. Sus usos pueden ser, como cualquier herramienta beneficiosos o perjudiciales, pero lo importante es conocerlos y saber que agiliza los procesos.

sábado, mayo 29, 2021

Fortnite: Epic Games, Inc. v. Apple Inc.

Apple y su tienda App Store fue demandada por Epic Games ya que para su juego Fortnite fue borrado de dicha tienda, acción similar a la realizada por Google.

La cuestión es que Epic Games consideró que las ganancias que obtenía Apple eran abusivas así que busco la forma de poder obtener dinero por fuera de la tienda, cosa que a Apple y a Google no le gustó.

Pues bien, esto plantea algunos conflictos bastantes interesantes. Por un lado es ¿quién tiene control real sobre el dispositivo? y por otro ¿las empresas que nos proveen el sistema operativo tienen pueden controlar absolutamente todo?.

Lo cierto es que el juicio no finalizó, pero serán cuestiones a considerar en futuros desarrollos.

jueves, abril 22, 2021

La EFF y su lobby anti Richard Stallman y la FSF

En 1996 John Perry Barlow presentó la "Declaración de independencia del ciberespacio", fundador de la Electronic Frontier Foundation (EFF), donde decía: "Estamos creando un mundo donde cualquiera, en cualquier sitio, puede expresar sus creencias, sin importar lo singulares que sean, sin miedo a ser coaccionado al silencio o al conformismo."

Ahora la EFF rompió esas palabras, y mediante la cultura de la cancelación, como también agraviando a la Free Software Foundation (FSF) busca cancelar a Richard Stallman.

La historia surge de que Stallman (RMS) publicó en una lista de correo privada un comentario respecto de un conocido, esto fue expuesto fuera de dicha lista, reinterpretado y unido con otras referencias seleccionadas de comentarios, transformar al padre del software libre en el demonio.

Esto se dio en un contexto del "me too", movimiento que busca denunciar agresiones sexuales y acoso, pero en ocasiones sin importar si difaman o destruyen a otras personas mediante la cultura de la cancelación.

La cultura de la cancelación, es una cultura de la destrucción, del "no debate". Del "vamos a romper esa estatua porque la persona en esa época hizo algo que ahora se ve mal". No es una cultura de crecimiento ni avance.

Pues a Stallman lo acusaron de muchas cosas, que nunca lograron definir concretamente. Pues es cierto que la personalidad es un tanto atípica o "singulares" tal John Perry Barlow afirmó. Pero de modo alguno se logró mostrar que RMS se haya comportado de forma delictual.

Las acusaciones respecto de Stallman por parte de varias personas, en las cuales adhiere la EFF "en defensa de los derechos digitales" afirman rasgos de la personalidad de RMS tales cómo (según afirmaciones en una carta) de "ha demostrado ser misógino, capacitista y transfóbico, entre otras graves acusaciones de impropiedad.".

Mientras que otra carta indica: "ha habido viles ataques online con el fin de eliminarlo de la junta directiva de la FSF por expresar sus opiniones personales. Hemos visto esto pasar con anterioridad de manera organizada en contra de otros programadores y activistas del software libre. No nos vamos a quedar callados esta vez, cuando un icono de esta comunidad es atacado." y "RMS ha expresado sus puntos de vista de formas que molestan a mucha gente. Suele enfocarse más en las bases filosóficas y en buscar la verdad objetiva y el purismo lingüístico, subestimando los sentimientos de la gente sobre los temas que comenta. Esto hace que sus argumentos sean vulnerables a la incomprensión y tergiversación, lo que nos parece que está pasando en la carta abierta que pide su destitución. Sus palabras necesitan ser interpretadas en este contexto, tomando en cuenta que la mayoría de las veces no busca expresar las cosas de forma diplomática."

También indica: "De todas formas, las opiniones de Stallman acerca de los temas sobre los que está siendo perseguido no son relevantes para su habilidad para liderar una comunidad como la FSF. Además, tiene derecho a expresar sus opiniones tanto como cualquier otra persona. Los miembros y simpatizantes de la FSF no tienen por qué estar de acuerdo con sus opiniones, pero deberían respetar su derecho a la libertad de expresión y pensamiento.""

Y por último aclaran:

"A la turba oportunista que está confabulando en contra de Richard Stallman sobre argumentos razonables en el debate y otras opiniones y creencias expresadas durante décadas como figura pública:

Ustedes no tienen nada que ver en la elección del liderazgo de ninguna comunidad. Y menos usando otro linchamiento que no se asemeja ni remotamente a un debate conducido de manera justa como tal y como demuestran personas como Richard Stallman." 

Por último Danny O'Brien de EFF en su publicación ha manifestado cuestiones referente a la gobernanza de la FSF, como una suerte de acusación sobre su forma de organización para de esta forma (falazmente) argumentar que la EFF tiene razón.

Tristemente la EFF ha fallado a sus principios tales como definió Barlow: "un mundo donde cualquiera, en cualquier sitio, puede expresar sus creencias, sin importar lo singulares que sean, sin miedo a ser coaccionado al silencio o al conformismo". Incluso en desmedro de lo que el propio Stallman siempre afirmó "Free like, free speech not free beer" (libre como libertad de expresión, no como cerveza gratis).

Pero ¿Qué hay detrás de la EFF? ¿Que intereses tiene por los cuales buscan cancelar a Stallman y afectar a la FSF?. Probablemente dinero y no libertad.

Recibe las actualizaciones en tu correo