Herramientas Informaticas

Categoría: Uncategorized Página 1 de 11

💎 Guía Maestra: Instalación de SAP HANA Client 2.0

Entrada fija

Edición SAP Business One (HANA 2.0 Rev 56)

Esta guía detalla el despliegue del cliente de base de datos, componente esencial para conectar SAP B1, Crystal Reports, Excel y Power BI.


1 Ubicación del Kit de Instalación

En entornos de SAP Business One, el instalador reside dentro de los paquetes de datos del servidor. No busque instaladores genéricos; navegue a la siguiente ruta:

…\HANA 2.0 rev 56\DATA_UNITS\SAP HANA CLIENT 2.0 FOR B1

Dentro encontrará la arquitectura dual de SAP:

  • 📂 NT_X64: Carpeta exclusiva para Windows (64 bits).
  • 📂 LINX64SUSE: Carpeta para servidores Linux/SUSE.

2 Instalación Paso a Paso

  1. Acceda a la carpeta NT_X64.
  2. Localice el ejecutable hdbinst.exe.
  3. Derechos de Administrador: Haga clic derecho y seleccione “Ejecutar como administrador”.
  4. Consola: Presione Enter para aceptar la ruta por defecto C:\hdbclient.

⚠️ Verificación: La instalación finaliza correctamente cuando visualiza el mensaje: Installation done.

3 Configuración del PATH

Para ejecutar herramientas como hdbsql desde cualquier carpeta, configure la variable de entorno:

  • Busque “Variables de Entorno” en el menú Inicio.
  • En Variables del sistema, edite la variable Path.
  • Agregue una nueva línea con: C:\hdbclient.

4 Activación ODBC (64 bits)

Para habilitar la conexión en aplicaciones de terceros:

  1. Abra el Administrador de orígenes de datos ODBC (64 bits).
  2. Vaya a DSN de sistema > Agregar.
  3. Seleccione el controlador HDBODBC.
  4. Configure la IP del servidor y el puerto (ej: 30015).

// Prueba de fuego en CMDhdbsql -n 192.168.X.X:30015 -u SYSTEM -p Password123 "SELECT * FROM DUMMY"

🚀 Troubleshooting Rápido

  • ¿No ve el driver? Instale “Visual C++ Redistributable 2013/2015”.
  • ¿Error -10709? Verifique el Firewall del servidor en el puerto 30015.

Cómo enlazar sucursales locales con SAP Business One usando ODBC (HANA)

Entrada fija

Repositorio: boilerplateservicelayer
Commit documentado: 53bbd3fe03b083957043911f46b59a04e31175f4

Este manual técnico explica cómo enlazar sucursales locales con sucursales de SAP Business One (OBPL) utilizando ODBC (eODBC) sobre SAP HANA, evitando el uso del Service Layer para consultas de alto rendimiento.


¿Qué problema resuelve esta implementación?

En muchos proyectos con SAP Business One, el uso del Service Layer para catálogos o consultas simples introduce latencia innecesaria. Este módulo soluciona ese problema permitiendo:

  • Relacionar sucursales locales con sucursales SAP
  • Consultar la tabla OBPL directamente desde SAP HANA
  • Reducir tiempos de respuesta usando ODBC
  • Eliminar dependencias innecesarias del Service Layer

¿Por qué usar ODBC en SAP Business One?

El uso de ODBC en SAP HANA es ideal para consultas de solo lectura, catálogos y validaciones rápidas.

CaracterísticaService LayerODBC SAP HANA
RendimientoMedioAlto
LatenciaAltaBaja
Ideal paraCRUD complejoCatálogos y consultas
Dependencia SAPAltaMedia

Estructura del módulo de enlace SAP

La solución se divide en cuatro componentes principales:

  1. Tabla de enlace entre sucursal local y SAP
  2. Controlador con consultas ODBC
  3. Vista con DataTables server-side
  4. Formulario con Select2 dinámico

Tabla link_sap_branchoffice

Esta tabla permite mantener la relación entre el sistema local y SAP Business One sin duplicar información de SAP.

CampoDescripción
idID interno
idEmpresaEmpresa local
idBranchOfficeSucursal local
idBranchOfficeSAPSucursal SAP (OBPL.BPLId)
created_atFecha de creación
updated_atFecha de actualización
deleted_atBorrado lógico

Conexión a SAP HANA usando ODBC

La conexión ODBC se realiza directamente contra SAP HANA, lo que permite consultas rápidas y estables.

Conexión ODBC en PHP


$conn = odbc_connect(
    $dataConect['nameODBC'],
    $dataConect['userODBC'],
    $dataConect['passwordODBC']
);

Fijar el schema en SAP HANA


SET SCHEMA "COMPANYDB"

Este paso es obligatorio para evitar errores como invalid table name en SAP HANA.


Consulta optimizada a la tabla OBPL

Para obtener una sucursal SAP se realiza una consulta directa a la tabla OBPL:


SELECT
    "BPLId",
    "BPLName"
FROM OBPL
WHERE "Disabled" <> 'Y'
  AND "BPLId" = ?
  • Consulta directa
  • Sin bucles innecesarios
  • Ideal para formularios y edición

Listado con DataTables server-side

El módulo utiliza DataTables en modo server-side para manejar grandes volúmenes de datos:

  • Paginación eficiente
  • Búsqueda global
  • Ordenamiento dinámico
  • Filtrado por empresa del usuario

Select2 dinámico para sucursales

Sucursal local

Se cargan las sucursales locales vía AJAX usando Select2.

Sucursal SAP (OBPL)

Las sucursales SAP se consultan directamente desde SAP HANA vía ODBC, sin Service Layer.


Beneficios clave de esta arquitectura

  • Mayor rendimiento en SAP Business One
  • Menor latencia en consultas
  • Menos carga en el Service Layer
  • Arquitectura escalable y mantenible

Buenas prácticas recomendadas

  • Usar ODBC solo para consultas de lectura
  • Usar Service Layer para escrituras en SAP
  • Centralizar credenciales ODBC
  • Siempre definir el schema en SAP HANA

Conclusión

Este enfoque permite integrar SAP Business One con sistemas locales de forma eficiente, utilizando ODBC sobre SAP HANA como alternativa rápida y estable al Service Layer.

Ideal para catálogos, validaciones, reportes y sistemas híbridos SAP.

🚀 Guía de Activación CData ODBC SAP BUSINESS ONE

Entrada fija

SAP HANA Driver 2025 | Linux Mint & Ubuntu

Esta guía resuelve el error Could not find a valid license permitiendo la activación del periodo de prueba o licencia comercial.

1. Localizar el Motor de Activación

El driver incluye una utilidad Java específica. En la versión 2025, el archivo clave es:

/opt/cdata/cdata-odbc-driver-for-saphana/lib/cdata.odbcm.saphana.jar

2. Ejecutar el Asistente por Terminal

Usa el siguiente comando para forzar la apertura del gestor de licencias (requiere privilegios de sudo):

sudo java -cp /opt/cdata/cdata-odbc-driver-for-saphana/lib/cdata.odbcm.saphana.jar cdata.odbc.saphana.DriverMain -license

3. Datos de Registro (Modo TRIAL)

Dentro del asistente, completa la información solicitada:

  • 👤 Name: Tu nombre completo
  • 📧 Email: Tu correo electrónico
  • 🔑 Product Key: Escribe TRIAL

Nota: Si tienes una clave comprada, ingrésala en lugar de “TRIAL”.

4. Configuración de Permisos Finales

Es vital copiar la licencia y dar permisos de lectura para que PHP/Apache puedan detectarla:

# Crear carpeta de configuración
mkdir -p ~/.cdata

# Copiar archivo de licencia
sudo cp /opt/cdata/cdata-odbc-driver-for-saphana/lib/CData.ODBC.SAPHANA.lic ~/.cdata/

# Liberar permisos de lectura
sudo chmod 644 ~/.cdata/CData.ODBC.SAPHANA.lic
sudo chmod 644 /opt/cdata/cdata-odbc-driver-for-saphana/lib/CData.ODBC.SAPHANA.lic

📋 Detalles de la Licencia Trial

  • Vigencia: 30 días a partir de la activación.
  • Capacidad: Funcionalidad completa sin límite de registros.
  • Requisito: Requiere Java JRE instalado en el sistema.

Guía generada para Julio César – Linux Mint 22

Conectarse a SAP HANA desde Linux Mint usando CDATA ODBC (Guía Completa)

Entrada fija

Conectar aplicaciones PHP o frameworks como CodeIgniter a SAP HANA desde Linux puede ser un reto, especialmente cuando no se quiere instalar el SAP HANA Client oficial. En esta guía aprenderás paso a paso cómo instalar y configurar CDATA ODBC Driver para SAP HANA en Linux Mint, una alternativa rápida y funcional para entornos de desarrollo.


¿Qué es CDATA ODBC para SAP HANA?

CDATA es un proveedor de drivers ODBC comerciales que permiten conectarse a múltiples bases de datos empresariales, incluido SAP HANA, sin necesidad de instalar clientes pesados de SAP.

Ventajas

  • Instalación sencilla
  • Compatible con PHP, Python y Java
  • Ideal para Linux Mint / Ubuntu
  • No requiere SAP HANA Client

Consideraciones

  • Driver comercial
  • Incluye periodo de prueba (~30 días)
  • Recomendado para desarrollo y pruebas

Requisitos del sistema

  • Linux Mint 22 (64 bits)
  • Acceso a SAP HANA (IP, puerto, usuario y base de datos)
  • Permisos sudo
  • PHP (opcional para pruebas)

1. Instalar dependencias necesarias

sudo apt update
sudo apt install -y unixodbc unixodbc-dev libssl3 libc6

Verifica la instalación:

odbcinst -j

2. Descargar CDATA ODBC Driver para SAP HANA

Descarga el driver desde el sitio oficial:

https://www.cdata.com/drivers/saphana/odbc

Selecciona:

  • Platform: Linux
  • Architecture: 64-bit
  • Technology: ODBC

El archivo descargado tendrá un nombre similar a:

CDataODBCDriverforSAPHANA.tar.gz

3. Descomprimir el instalador

cd ~/Descargas
tar -xvzf CDataODBCDriverforSAPHANA.tar.gz
cd CDataODBCDriverforSAPHANA

4. Instalar el driver CDATA

sudo ./install.sh

El driver se instalará por defecto en:

/opt/cdata/cdata-odbc-driver-for-saphana/

5. Registrar el driver en ODBC

Verifica que la librería exista:

ls /opt/cdata/cdata-odbc-driver-for-saphana/lib/

Debe existir:

libcdataodbcHANA.so

Edita el archivo odbcinst.ini:

sudo nano /etc/odbcinst.ini

Agrega lo siguiente:

[CData SAP HANA ODBC Driver]
Description=CData ODBC Driver for SAP HANA
Driver=/opt/cdata/cdata-odbc-driver-for-saphana/lib/libcdataodbcHANA.so
UsageCount=1

Verifica el registro:

odbcinst -q -d

6. Crear el DSN de conexión

Edita el archivo odbc.ini:

sudo nano /etc/odbc.ini

Ejemplo de conexión para SAP Business One HANA:

[hana_dev]
Driver=CData SAP HANA ODBC Driver
Server=192.168.1.50
Port=30015
User=HANAUSER
Password=MySecurePass123
Database=SBODEV_HANA

7. Probar la conexión ODBC

isql -v hana_dev

Resultado esperado:

Connected!

8. Instalar soporte ODBC para PHP

sudo apt install php-odbc
sudo systemctl restart apache2

Verifica que PHP tenga ODBC habilitado:

php -m | grep odbc

9. Ejemplo de conexión PHP a SAP HANA

<?php

$conn = odbc_connect(
    'hana_dev',
    'HANAUSER',
    'MySecurePass123'
);

if (!$conn) {
    die(odbc_errormsg());
}

echo "Conectado a SAP HANA usando CDATA ODBC";

10. Ejemplo de consulta SAP HANA

$sql = '
    SELECT 
        "DocEntry",
        "DocNum",
        "CardCode",
        "CardName"
    FROM "OPCH"
    LIMIT 10
';

$rs = odbc_exec($conn, $sql);

while ($row = odbc_fetch_array($rs)) {
    print_r($row);
}

Nota: SAP HANA es sensible a mayúsculas y minúsculas, por lo que es obligatorio usar comillas dobles para tablas y campos.


Conclusión

El driver CDATA ODBC para SAP HANA es una excelente alternativa cuando necesitas conectarte rápidamente a SAP HANA desde Linux Mint sin instalar el cliente oficial de SAP.

  • Instalación sencilla
  • Compatible con PHP y CodeIgniter
  • Ideal para desarrollo y pruebas

Esta configuración puede adaptarse fácilmente a entornos productivos ajustando credenciales, seguridad y manejo de conexiones.

Cómo instalar Plex en Linux Mint 22 y solucionar el audio “subido de tono”

Entrada fija

En esta guía aprenderás a transformar tu ordenador con Linux Mint 22 en un servidor multimedia profesional y a corregir el error común de audio acelerado en la TV.


1. Instalación de Plex Media Server

Para asegurar la estabilidad y recibir actualizaciones automáticas, utilizaremos el repositorio oficial de los desarrolladores de Plex.

Paso 1: Preparar el sistema

Abre la terminal e instala las dependencias necesarias con el siguiente comando:

sudo apt update && sudo apt upgrade -y
sudo apt install apt-transport-https curl wget -y

Paso 2: Añadir el repositorio oficial

Ejecuta estos comandos para configurar la llave de seguridad y el repositorio:

# Añadir llave GPG
curl https://downloads.plex.tv/plex-keys/PlexSign.key | gpg --dearmor | sudo tee /usr/share/keyrings/plexserver.gpg > /dev/null

# Añadir fuente de repositorio
echo "deb [signed-by=/usr/share/keyrings/plexserver.gpg] https://downloads.plex.tv/repo/deb public main" | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

Paso 3: Instalar el servidor

sudo apt update
sudo apt install plexmediaserver -y

2. Solución al Audio “Subido de Tono” (Efecto Ardilla)

Si el sonido en tu TV se escucha más agudo de lo normal o acelerado, el problema suele estar en la comunicación entre el servidor y el reproductor. Aquí tienes las soluciones:

Solución A: Desactivar el Passthrough de Audio

Esto suele ocurrir cuando la TV intenta decodificar un formato que no soporta. Para arreglarlo:

  • Abre la App de Plex en tu Smart TV.
  • Ve a Configuración > Audio.
  • Busca la opción Passthrough y selecciona Desactivado (o “None”).

Solución B: Sincronización de Frecuencia en Linux Mint

Si tu servidor está conectado por HDMI, asegúrate de que la frecuencia de salida sea la estándar:

  1. Ve al Menú > Configuración de Sonido.
  2. En la salida HDMI, verifica que esté configurada a 48000 Hz (en lugar de 44100 Hz).

3. Configuración de Permisos y Acceso

Plex necesita permisos para leer tus carpetas de películas. Si no aparecen tus archivos, ejecuta:

sudo chmod -R 755 /ruta/a/tus/peliculas

Para finalizar la configuración, accede vía web desde cualquier navegador de tu red:

http://IP-DE-TU-SERVIDOR:32400/web


Nota: Recuerda que para que los discos duros externos funcionen siempre, deben estar configurados para montarse automáticamente en el inicio del sistema.

Guía: Audio Pro en Linux Mint (Baja Latencia)

Entrada fija

Guía: Audio Pro en Linux Mint (Baja Latencia)

Este manual optimiza PipeWire para trabajar con interfaces Behringer U-Phoria, eliminando el retraso (lag) en el monitoreo de OBS Studio.

1. Preparación de Permisos

Para evitar cortes de audio, tu usuario necesita prioridad de “Tiempo Real” (Realtime).

# Añadir usuario al grupo de audio
sudo usermod -aG audio $USER

# Configurar límites de prioridad
sudo nano /etc/security/limits.d/audio.conf

Asegúrate de que el archivo contenga estas líneas:

@audio – rtprio 95
@audio – memlock unlimited

2. Configuración Maestra de PipeWire

Fijamos el “Quantum” (buffer). Un valor de 64 equivale a una latencia casi inexistente.

mkdir -p ~/.config/pipewire/pipewire.conf.d/
nano ~/.config/pipewire/pipewire.conf.d/latency.conf

Pega este código dentro del archivo:

context.properties = {
    default.clock.rate          = 48000
    default.clock.quantum       = 64
    default.clock.min-quantum   = 32
    default.clock.max-quantum   = 128
}

3. Script de Arranque para OBS

Crea un lanzador para asegurar que OBS siempre inicie con la máxima prioridad.

nano ~/OBS_Rapido.sh

Contenido del script:

#!/bin/bash
# Forzar el motor de audio
pw-metadata -n settings 0 clock.force-quantum 64
# Abrir OBS con latencia forzada
PIPEWIRE_LATENCY="64/48000" obs

No olvides dar permisos de ejecución:

chmod +x ~/OBS_Rapido.sh

4. Configuración en OBS Studio

  • Frecuencia: Ajustes > Audio > General > 48kHz.
  • Dispositivo: Ajustes > Audio > Avanzado > Seleccionar UMC202HD.
  • Monitoreo: Propiedades de audio avanzadas > Monitorización y salida.

Nota importante: Si escuchas “clics” o sonido robótico, aumenta los valores de 64 a 128 en el archivo de configuración y en el script.

Actualización del Catálogo de Productos – Versión v1.1.2

Entrada fija

Formal y claro (ideal para changelog o documentación técnica)

  1. Se agregó la opción de subcategoría para una mejor organización de los productos.
  2. Se incorporó la funcionalidad de subcategorías para catalogar los productos de forma más precisa.

Añadido formulario de captura.

  • Nuevo: formulario para registrar datos.
  • Implementado formulario de entrada de información.


Se agregó el catálogo de campos extra de producto, que permite agregar campos personalizados al catálogo de productos en caso de que falte alguno.


En el catálogo de productos se agregó un nuevo botón azul con el símbolo “+”. Al hacer clic, se mostrarán los campos personalizados disponibles para capturar. En caso de que ya existan datos registrados, estos se visualizarán automáticamente.

🛠️ Actualización técnica: validación y subida de imágenes + controlador seguro en boilerplateproducts 🖼️

Entrada fija

🛠️ Actualización técnica: validación y subida de imágenes + controlador seguro en boilerplateproducts 🖼️

En este cambio abordamos varios problemas prácticos que afectaban la subida de imágenes y la robustez del endpoint admin/products/save. Objetivos principales:

  • ✅ Permitir JPG/JPEG además de PNG (y manejar HEIC de iPhone).
  • ✅ Soportar subida desde móvil (cámara/galería).
  • ✅ Validar tipo y tamaño en cliente y servidor (pasamos de 2 MB a 5 MB).
  • ✅ Enviar la imagen con FormData solo si existe y evitar errores por selectores incorrectos.
  • ✅ Mejorar el controlador en CodeIgniter 4: validaciones, rutas absolutas, manejo seguro de archivos, respuestas JSON y logging. 📦

1 — Problema inicial 🐞

  • El JS validaba solo image/png, por lo que bloqueaba .jpg/.jpeg. ❌
  • Selectores inconsistentes (.imagenProducto vs #imagenProducto) => riesgo de undefined. ⚠️
  • El controlador PHP aceptaba únicamente PNG, hacía var_dump, usaba rutas relativas y agarraba excepciones equivocadas. 🧨
  • Tamaño máximo 2 MB; se solicitó ampliar a 5 MB. 📈
  • No había protocolo JSON consistente entre frontend y backend. 🧩

2 — Cambios en el frontend (JS) 📱

Qué se cambió (resumen)

  • Validación de tipos permitidos: image/png, image/jpeg, image/jpg. ✅
  • Detección y rechazo de HEIC (iPhone) con aviso o rechazo según preferencia. 🚫🧾
  • Límite de tamaño subido: 5 MB (maxSize = 5 * 1024 * 1024). 📏
  • Uso de FormData solamente si el archivo existe. 🎒
  • Unificación de selectores: usar id="imagenProducto" y mantener class para preview. 🧭
  • e.preventDefault() y bloqueo/rehabilitación del botón con complete. 🔒➡️🔓
  • dataType: "json" en AJAX con fallback a texto plano para compatibilidad. 🔁
  • Mensajes Toast claros y amigables. 🔔

Snippet — parte clave del JS (resumido)

// ... (código resumido; validar tipo, tamaño 5MB, añadir FormData solo si existe)
var maxSize = 5 * 1024 * 1024; // 5 MB
if (imagenProducto.size > maxSize) {
    Toast.fire({ icon: 'error', title: "La imagen pesa más de 5 MB." });
    $btn.removeAttr("disabled");
    return;
}

3 — Cambios en el backend (Controlador CodeIgniter 4) ⚙️

Objetivos del backend

  • Aceptar PNG y JPG/JPEG. 🟢
  • Validar tamaño (5 MB). 📦
  • Evitar var_dump en producción. 🚫
  • Usar FCPATH para mover archivos a public/images/products. 📁
  • Crear carpeta si no existe. 🧱
  • Devolver JSON con estado ok|error y message. 💬
  • Borrar la imagen anterior de forma segura al actualizar. 🧹
  • Manejar excepciones generales correctamente. 🔒

Snippet — método save() resumido

// Validación de archivo
$maxSize = 5 * 1024 * 1024;
$allowed = ['png','jpg','jpeg'];
if ($imagenProducto && $imagenProducto->isValid()) {
    $ext = strtolower($imagenProducto->getClientExtension() ?: '');
    if (!in_array($ext, $allowed)) {
        return $this->response->setStatusCode(415)->setJSON(['status'=>'error','message'=>lang('empresas.imageExtensionIncorrect')]);
    }
    if ($imagenProducto->getSize() > $maxSize) {
        return $this->response->setStatusCode(413)->setJSON(['status'=>'error','message'=>lang('empresas.imageTooLarge')]);
    }
    $datos['routeImage'] = $imagenProducto->getRandomName();
}

4 — Configuración del servidor y notas operativas 🖥️

  • PHP (php.ini): aumentar upload_max_filesize y post_max_size por encima de 5 MB (ej. 8M). 🔧
  • Nginx: client_max_body_size 8M;. ⚠️
  • Permisos: public/images/products debe ser escribible por el proceso web (ej. www-data). 🛡️
  • Seguridad: siempre validar MIME real y extensión en el servidor — no confiar en JS. 🔍
  • Backups: si las imágenes son críticas, considera mantener copia antes de unlink. 💾

5 — Pruebas que hicimos y checklist para QA 🧪✅

Pruebas realizadas:

  • Subida desde desktop: JPG, PNG. 💻
  • Subida desde móvil: cámara (Android/Chrome) y galería. 📱
  • Subida desde iPhone (HEIC) → detectado y rechazado con mensaje. 🍏🚫
  • Reemplazo de imagen de producto: antiguo archivo borrado y nuevo movido. 🔁
  • Validación de tamaños: >5MB rechazado, <5MB aceptado. ⚖️
  • Manejo de respuesta JSON en frontend y fallback a texto. 🔄

Checklist para QA / PR:

  • [ ] ✅ El input tiene id="imagenProducto" y accept="image/png, image/jpeg" (o accept="image/*" si se quiere cámara directa).
  • [ ] ✅ Validación en JS y servidor coincide (5 MB).
  • [ ] ✅ images/products existe y es escribible en staging/prod.
  • [ ] ✅ Mensajes Toast claros para cada caso (HEIC, tamaño, formato).
  • [ ] ✅ Al actualizar producto, la imagen anterior se borra sólo si corresponde.
  • [ ] ✅ Tests unitarios / integración pasan (si existen).
  • [ ] ✅ composer.lock no fue tocado por estos cambios (si aplica).

6 — Mensajes de commit / PR recomendados ✍️

Commit:
fix(products): accept jpeg/png, validate size 5MB, handle uploads safely

Descripción PR sugerida:

  • Frontend: validar JPG/JPEG + PNG, rechazar HEIC, aumentar tamaño a 5MB, enviar FormData solo si existe, unificar selectores y mejorar UX (disable button + toast).
  • Backend (CI4): aceptar jpg/png, validar tamaño, usar FCPATH para almacenamiento, crear carpeta si no existe, devolver JSON, borrar imagen anterior de forma segura, mejorar manejo de errores y logging.

Incluye checklist de QA y capturas de la subida desde móvil/desktop.


7 — Próximos pasos recomendados 🚀

  • ✂️ Optimizar imágenes: redimensionar/comprimir en cliente o servidor para ahorrar espacio y tiempo de subida.
  • ♻️ Soportar HEIC: implementar conversión con Imagick o servicio externo si quieres aceptar HEIC automáticamente.
  • 🧪 Automatizar pruebas: agregar tests para multipart upload y para el flujo de reemplazo/borrado de imágenes.
  • 🔁 Pipeline CI/CD: en staging hacer composer update si fuera necesario, probar y en producción usar composer install (lockfile).

8 — Conclusión 🎯

Estos cambios hacen la subida de imágenes más robusta, amigable para móviles y segura en el servidor. El frontend ahora maneja errores con mensajes claros y el backend devuelve JSON estructurado para un manejo predecible en la UI. Además, ampliamos el límite a 5 MB y arreglamos detalles clásicos como rutas relativas y selectores inconsistentes. ✅

🐪 Guía Completa: Cómo instalar Ollama en tu PC y correr Llama 3 de Meta

Entrada fija

🐪 Guía Completa: Cómo instalar Ollama en tu PC y correr Llama 3 de Meta

En los últimos años, el desarrollo de modelos de lenguaje grandes (LLMs, por sus siglas en inglés) ha avanzado a pasos agigantados. Uno de los más destacados es Llama 3, creado por Meta, que ha logrado competir con modelos comerciales como GPT-4 o Claude, pero con una característica esencial: puede usarse gratis y de forma local gracias a herramientas como Ollama.

Este tutorial busca ser una guía detallada para que cualquier persona pueda instalar Ollama en su computadora, descargar el modelo Llama 3 y comenzar a usarlo sin complicaciones. Nos tomaremos el tiempo de explicar no solo los pasos técnicos, sino también los requisitos, configuraciones recomendadas, posibles errores comunes y cómo integrar Ollama en diferentes entornos de desarrollo.


🔹 1. ¿Qué es Ollama y por qué usarlo?

Ollama es una plataforma que facilita correr modelos de lenguaje grandes en tu computadora de forma local. Esto significa que:

  1. No dependes de la nube: puedes tener tu propio ChatGPT casero sin enviar datos a terceros.
  2. Privacidad total: lo que escribes y lo que el modelo responde se queda en tu PC.
  3. Sin costos ocultos: no necesitas pagar por tokens o suscripciones.
  4. Compatible con diferentes modelos: no solo Llama 3, también Mistral, Phi, Gemma, entre otros.

Meta liberó Llama 3 en abril de 2024 con variantes de 8B y 70B parámetros, entrenados en una enorme cantidad de datos. El modelo de 8B es más ligero y puede correr en una PC con 8-16 GB de RAM, mientras que el de 70B requiere estaciones mucho más potentes (64 GB+ y GPU dedicadas).

Gracias a Ollama, la instalación y uso de Llama 3 se reduce a un par de comandos, sin necesidad de compilar ni configurar manualmente librerías de inteligencia artificial.


🔹 2. Requisitos previos

📌 Hardware mínimo recomendado

  • CPU: procesador moderno con soporte AVX2 (casi todos desde 2015 en adelante).
  • RAM:
  • 8 GB para modelos pequeños.
  • 16 GB o más para un uso fluido.
  • GPU (opcional):
  • NVIDIA con CUDA 11 o superior.
  • Apple Silicon (M1, M2, M3) aprovecha la GPU integrada.
  • Espacio en disco: entre 5 GB y 50 GB, dependiendo del tamaño del modelo.

📌 Software compatible

  • Linux: Ubuntu, Debian, Mint, Fedora, Arch y derivados.
  • macOS: versiones modernas, tanto Intel como Apple Silicon.
  • Windows: requiere WSL2 con Ubuntu (Windows 11 recomendado).

🔹 3. Instalación de Ollama

🐧 En Linux (ejemplo: Ubuntu / Mint / Debian)

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

🍏 En macOS

  1. Descarga el instalador desde la página oficial:
    👉 https://ollama.com/download
  2. Arrastra Ollama.app a la carpeta de Aplicaciones.
  3. Verifica en terminal:
ollama --version

🪟 En Windows 11 (usando WSL2)

wsl --install

Dentro de Ubuntu en WSL2:

curl -fsSL https://ollama.com/install.sh | sh
ollama --version

🔹 4. Descargar e instalar Llama 3

  • Para la versión ligera (8B parámetros):
ollama pull llama3
  • Para la versión grande (70B parámetros):
ollama pull llama3:70b

Ver modelos instalados:

ollama list

🔹 5. Usar Llama 3 con Ollama

ollama run llama3

Ejemplo:

>>> Hola, ¿qué es Ollama?
Ollama es una herramienta que permite correr modelos de lenguaje grandes de manera local en tu computadora.

🔹 6. Integración con APIs y otros lenguajes

Ollama expone una API local en http://localhost:11434

Ejemplo en Python

import requests

response = requests.post("http://localhost:11434/api/generate", json={
  "model": "llama3",
  "prompt": "Explícame la fotosíntesis en 3 líneas"
})

for line in response.iter_lines():
    if line:
        print(line.decode())

Ejemplo en Node.js

import fetch from "node-fetch";

const res = await fetch("http://localhost:11434/api/generate", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    model: "llama3",
    prompt: "Resume la historia de México en 5 puntos"
  })
});

const data = await res.text();
console.log(data);

🔹 7. Consejos de rendimiento

  1. Prefiere GPU si está disponible.
  2. Usa el modelo correcto según tu RAM.
  3. Administra la memoria cerrando apps pesadas.
  4. Mantén Ollama actualizado.

🔹 8. Problemas comunes y soluciones

  • Comando ollama no encontrado → reinicia terminal o source ~/.bashrc
  • El modelo no descarga → revisa internet y usa ollama pull llama3 --retry
  • Se queda sin RAM → usa modelos pequeños o swap
  • Velocidad lenta en CPU → usa GPU compatible

🔹 9. Comparación con otras herramientas

  • LM Studio → interfaz gráfica.
  • text-generation-webui → muy configurable.
  • GPT4All → multiplataforma.

Ollama destaca por su simplicidad y API unificada.


🔹 10. Aplicaciones prácticas

  1. Asistente personal offline.
  2. Generación de textos.
  3. Tutor académico.
  4. Ayuda en programación.
  5. Automatización de procesos.

🔹 11. Seguridad y privacidad

  • Tus datos no salen de tu PC.
  • Puedes trabajar con información sensible.
  • Ideal para empresas e investigadores.

🔹 12. Próximos pasos

  • Explorar otros modelos:
ollama pull mistral
ollama pull gemma
  • Crear un servidor web con Ollama.
  • Conectar a un frontend en React o Vue.
  • Usarlo en VS Code como asistente de programación.

✅ Conclusión

Instalar Ollama y usar Llama 3 en tu PC es un proceso sencillo que abre un mundo de posibilidades.

  • Principiantes: basta con ollama run llama3.
  • Desarrolladores: la API permite integrarlo en proyectos.
  • Usuarios preocupados por privacidad: toda la IA corre en tu PC.

En definitiva, Ollama + Llama 3 es una combinación poderosa que democratiza la inteligencia artificial.

📢 Adiós Skype, Hola Teams: El Gran Cambio de Microsoft en 2025

Entrada fija

📢 Adiós Skype, Hola Teams: El Gran Cambio de Microsoft en 2025

🌍 Un ícono que marcó una era

Durante más de dos décadas, Skype fue sinónimo de llamadas por internet. Para millones de personas alrededor del mundo, la primera videollamada que hicieron con familiares, amigos o colegas fue gracias a este software.

Skype nació en 2003, mucho antes de que Zoom, WhatsApp o Google Meet existieran. Su propuesta fue revolucionaria: hablar con alguien al otro lado del planeta gratis (o muy barato) solo usando una conexión a internet.

Sin embargo, los tiempos cambian. Y en mayo de 2025, Microsoft decidió apagar oficialmente Skype y reemplazarlo con algo nuevo: Microsoft Teams (versión gratuita).

Este anuncio marca el fin de un capítulo nostálgico, pero también abre la puerta a una nueva etapa en la forma de comunicarnos.


🔄 ¿Por qué Microsoft retiró Skype?

Podemos resumirlo en tres grandes razones:

  1. Evolución tecnológica
    Skype fue innovador en su momento, pero su arquitectura se fue quedando atrás frente a plataformas más modernas. Teams está construido sobre una infraestructura más robusta y escalable.
  2. Unificar la comunicación
    Microsoft ya había dado el primer paso en 2021, integrando Skype Empresarial dentro de Teams para las empresas. Ahora, el movimiento es completo: consumidores y compañías en la misma plataforma.
  3. Competencia feroz
    Zoom, Google Meet, WhatsApp y Telegram ofrecen funciones que antes eran exclusivas de Skype. Microsoft necesitaba un servicio competitivo y actualizado.

📅 ¿Cuándo ocurrió el cambio?

  • El 5 de mayo de 2025, Microsoft cerró oficialmente Skype (versión para consumidores).
  • Desde esa fecha, los usuarios ya no pueden iniciar sesión en la app tradicional.
  • El sitio web oficial de Skype redirige automáticamente a Microsoft Teams Free.

Para quienes crecieron con Skype, puede sentirse como el fin de una era. Pero Microsoft asegura que todo fue pensado para hacer la transición lo más sencilla posible.


👥 ¿Qué pasa con mis contactos y chats?

Una de las grandes preocupaciones era: ¿y mis contactos?

Microsoft implementó un sistema de migración automática:

  • Puedes iniciar sesión en Teams Free con tu misma cuenta de Skype.
  • Tus contactos y conversaciones aparecen allí.
  • Incluso el saldo de llamadas pagadas (si tenías crédito en Skype) se mantiene disponible en Teams o en el portal web.

Además, se dio un periodo de transición en el que era posible chatear desde Skype con alguien en Teams Free y viceversa, para que nadie quedara desconectado de un día para otro.


🆚 Skype vs Teams: ¿qué cambia?

Aunque ambos permiten llamadas y videollamadas, Teams Free es mucho más que Skype.

Lo que ya conocías de Skype:

  • Llamadas y videollamadas gratis.
  • Chats de texto y grupos.
  • Posibilidad de llamar a teléfonos fijos o móviles pagando crédito.

Lo que ofrece Teams Free además:

  • Calendario integrado para coordinar reuniones.
  • Comunidades y grupos temáticos, como mini redes sociales.
  • Compartir archivos y trabajar en documentos de Office al mismo tiempo.
  • Videollamadas más estables gracias a la infraestructura de Teams usada en empresas.
  • Sincronización con Outlook y OneDrive.

En resumen: Skype era una app de comunicación; Teams es un hub de colaboración completo.


💻 La transición para usuarios habituales

Microsoft preparó guías y opciones para que nadie se perdiera en el proceso.

  • Si solo usabas Skype para llamadas casuales, Teams Free te resultará similar, aunque con una interfaz más moderna.
  • Si lo usabas para trabajo remoto, Teams Free es aún mejor: está diseñado para la productividad.
  • Si solo querías mantener contacto con tu familia en el extranjero, seguirás pudiendo hacerlo igual… solo que ahora con más herramientas.

📜 La nostalgia: ¿por qué Skype fue tan importante?

Antes de hablar de lo que viene, vale la pena mirar atrás.

  • En 2005, Skype ya tenía más de 50 millones de usuarios cuando aún reinaban los SMS y las llamadas carísimas.
  • Durante la década de 2010, Skype se convirtió en la app más usada para entrevistas laborales a distancia.
  • Fue el canal por excelencia para comunicarse con migrantes, estudiantes en el extranjero y familias separadas por fronteras.
  • Incluso Barack Obama y otras figuras públicas lo mencionaron en discursos como ejemplo del poder de internet.

Por todo esto, no es raro que para muchos el cierre de Skype se sienta como despedirse de un amigo viejo.


⏳ La evolución: de MSN Messenger → Skype → Teams

Si hablamos de nostalgia digital, no podemos olvidar a otro gigante que precedió a Skype: MSN Messenger.

  • En los años 2000, MSN Messenger (luego Windows Live Messenger) fue el rey de la mensajería instantánea.
  • Todos recordamos los zumbidos, los emoticonos clásicos y la emoción de ver quién estaba “en línea”.
  • Fue la primera gran red social para millones de jóvenes en todo el mundo.

Pero pronto el mundo digital pidió más: ya no bastaba con enviar texto. Queríamos voz y video.

Ahí entró Skype, que desde 2003 revolucionó la comunicación. Microsoft lo compró en 2011 y lo convirtió en el reemplazo oficial de Messenger, que cerró en 2013.

Skype se convirtió en el estándar de las videollamadas y acompañó a toda una generación en la globalización digital.

Hoy, en 2025, el relevo lo toma Teams Free.

👉 MSN Messenger (chat)Skype (voz y video)Teams (colaboración total).

Cada uno representó su época:

  • Messenger, la era social juvenil.
  • Skype, la era de la conexión global a distancia.
  • Teams, la era de la productividad híbrida, donde la vida personal y laboral convergen en línea.

Más que un final, es una evolución natural. Messenger caminó para que Skype corriera, y Skype corrió para que Teams volara.


📲 ¿Cómo descargar y usar Teams Free?

Si todavía no lo has probado, aquí está el camino más sencillo:

  1. Ve a la tienda de aplicaciones de tu móvil (Android o iOS) y busca Microsoft Teams.
  2. Descárgala y abre sesión con tu cuenta de Microsoft (la misma que usabas en Skype).
  3. Automáticamente tendrás tus contactos migrados.
  4. Empieza a explorar las nuevas funciones: crear comunidades, fijar reuniones, compartir archivos y más.

También puedes usar Teams Free desde el navegador en teams.microsoft.com.


🔐 ¿Y qué pasa con mis datos?

Microsoft aseguró que:

  • Todos los datos de Skype (chats, contactos, historial) estarán disponibles para exportar hasta enero de 2026.
  • Después de esa fecha, los servidores de Skype eliminarán la información que no haya sido migrada.
  • Si prefieres no usar Teams, puedes descargar un archivo con tu historial de chats y conservarlo.

💡 Consejos para adaptarse al cambio

  1. Explora las comunidades: si usabas grupos de Skype, ahora puedes probar los espacios de Teams, que son más organizados.
  2. Integra tu calendario: programa tus videollamadas familiares con recordatorios.
  3. Prueba las reacciones y emojis animados: dan más vida a las conversaciones.
  4. Configura notificaciones para que no te sature; Teams puede ser más insistente que Skype.
  5. Si usabas créditos de Skype para llamar a teléfonos, revisa en Teams cómo usarlos todavía.

🌟 Lo bueno y lo malo del cambio

👍 Ventajas

  • Mejor tecnología y estabilidad en llamadas.
  • Más funciones que facilitan la colaboración.
  • Integración con otras herramientas de Microsoft.
  • Una sola plataforma tanto para usuarios casuales como para empresas.

👎 Desventajas

  • Skype era más ligero y simple; Teams puede sentirse más “pesado”.
  • Usuarios mayores pueden tardar en adaptarse.
  • La nostalgia: perder una app histórica siempre duele.

🏢 ¿Y las empresas?

El camino empresarial ya estaba claro desde antes: Skype Empresarial desapareció en 2021 para ser reemplazado por Teams.

Esto significa que ahora, por primera vez, consumidores y empresas usan la misma plataforma. Una ventaja importante: menos confusión, más compatibilidad.


🎭 Un cambio que refleja el mundo actual

El retiro de Skype no es solo un movimiento de negocios. Es también un reflejo de cómo la comunicación digital ha cambiado.

  • En 2003, hacer una videollamada era ciencia ficción.
  • En 2025, es parte de la rutina diaria de trabajo, estudio y vida social.
  • Hoy pedimos más: colaboración, documentos en la nube, reuniones grupales estables, comunidades digitales.

Skype cumplió su papel en su tiempo. Ahora, Teams toma la posta para esta nueva etapa.


🔮 ¿Qué podemos esperar en el futuro?

Microsoft apunta a que Teams sea la plataforma central de comunicación del ecosistema Windows y Microsoft 365.

Esto significa:

  • Más integración con IA (resúmenes automáticos de reuniones, traducciones en tiempo real, asistentes virtuales).
  • Mejor compatibilidad con aplicaciones de terceros.
  • Experiencias más fluidas entre móvil, PC y web.

En cierto modo, Skype caminó para que Teams pudiera correr.


📝 Conclusión: un adiós con sabor a evolución

El fin de Skype puede parecer un golpe nostálgico, pero en el fondo es un paso lógico. La tecnología cambia, y Microsoft eligió dar un salto hacia una plataforma que no solo conecta, sino que también facilita la colaboración y la productividad.

Para quienes usaron Skype durante años, es como despedirse de una herramienta que nos acercó cuando más lo necesitábamos. Pero la buena noticia es que sus funciones no desaparecen: renacen y se multiplican en Teams Free.

Así que la próxima vez que hagas una videollamada en Teams, recuerda: estás usando el legado de Messenger y Skype, pero con superpoderes modernos.

Página 1 de 11

Creado con WordPress & Tema de Anders Norén