lunes, 15 de diciembre de 2025

Phantom Stealer Phishing ISO Amenaza Finanzas Rusas

La seguridad en la nube se ha convertido en un pilar fundamental para las organizaciones modernas, pero su complejidad y la constante evolución de las amenazas exigen una transformación profunda. El artículo resalta un cambio de paradigma crucial: pasar de una defensa reactiva a una protección proactiva y en tiempo real, impulsada por la inteligencia artificial. Esta evolución ya no es una opción, sino una necesidad imperante para salvaguardar los activos digitales en entornos cloud cada vez más distribuidos y dinámicos.

Phantom Stealer Phishing ISO Amenaza Finanzas Rusas

En el centro de esta revolución se encuentra la "IA agéntica". Esta implica sistemas con cierto grado de autonomía, capaces de tomar decisiones, aprender de forma continua y actuar de manera proactiva ante las amenazas. Imagina agentes de seguridad virtuales que no solo detectan anomalías, sino que también comprenden el contexto de un ataque, anticipan movimientos futuros de los atacantes y, en algunos casos, ejecutan contramedidas automatizadas. Esto significa pasar de ser un observador pasivo a un defensor activo y autónomo.

La implementación de una defensa en la nube impulsada por IA agéntica ofrece múltiples beneficios. Permite una detección de amenazas significativamente más rápida, identificando patrones y comportamientos maliciosos que los sistemas tradicionales podrían pasar por alto. La capacidad de correlacionar eventos de seguridad a través de vastas infraestructuras de la nube en tiempo real reduce drásticamente el "tiempo de permanencia" de los atacantes. Además, al automatizar respuestas a incidentes, las empresas pueden mitigar riesgos antes de que escalen, minimizando el impacto potencial y liberando a los equipos de seguridad humanos para tareas más estratégicas.

Para lograr esta transformación, un "checklist esencial" implicaría la integración de plataformas de seguridad que aprovechen modelos de IA avanzados, el monitoreo continuo y contextualizado de la actividad en la nube, y la capacidad de orquestar respuestas automatizadas. La IA agéntica puede analizar grandes volúmenes de datos de telemetría, identificar desviaciones de comportamiento normales y adaptarse a nuevas tácticas de ataque mediante aprendizaje automático. Una defensa moderna de la nube impulsada por IA agéntica crea un ecosistema de seguridad inteligente y resiliente, siempre un paso por delante de los adversarios.

Fuente Original: https://thehackernews.com/2025/12/phantom-stealer-spread-by-iso-phishing.html

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

TikTok Inversores Atrapados en el Limbo por su Venta

¡Hola, amantes de la tecnología y los negocios! Hoy nos zambullimos en el turbulento mar de la incertidumbre que rodea a una de las plataformas más populares del mundo: TikTok. La venta de sus operaciones en Estados Unidos, una saga que lleva meses en los titulares, sigue dejando a los inversores en un verdadero limbo. Parece que los plazos, más que fechas límite, son solo sugerencias en este complicado juego geopolítico y empresarial.

TikTok Inversores Atrapados en el Limbo por su Venta

Un inversor multimillonario, Frank McCourt, quien ha mostrado un fuerte interés en adquirir las operaciones estadounidenses de TikTok, ha expresado su frustración y la sensación de estar "en espera" mientras se acerca otra fecha límite para la venta. Lo increíble es que esta no es la primera vez; el gobierno de EE. UU. ha pospuesto repetidamente la fecha en que la empresa matriz china de TikTok, ByteDance, debe vender la aplicación o enfrentar un bloqueo total para los usuarios americanos. De hecho, el presidente Donald Trump está a punto de extender este plazo por quinta vez, lo que solo profundiza la incertidumbre para todos los involucrados.

Recordemos que, en el pasado, el presidente Trump había indicado que "inversores sofisticados" de EE. UU. adquirirían la aplicación, mencionando nombres de peso como Larry Ellison, presidente de Oracle, y Michael Dell, de Dell Technologies, ambos aliados suyos. Incluso se había sugerido que el acuerdo se formalizaría en una reunión entre Trump y el presidente chino Xi en octubre. Sin embargo, esa reunión concluyó sin que se llegara a ningún acuerdo concreto. Desde entonces, ni ByteDance ni Beijing han anunciado la aprobación de una venta, a pesar de las afirmaciones previas de Trump.

Actualmente, a diferencia de ocasiones anteriores, no hay indicios ni declaraciones que sugieran que un acuerdo es inminente. Esta ausencia de noticias concretas lleva a la mayoría de los analistas a una conclusión casi unánime: otra extensión del plazo es prácticamente inevitable. La situación es un reflejo de la complejidad de la transacción, no solo por su valor económico sino también por las implicaciones políticas y de seguridad nacional que la rodean. Además de McCourt, otros inversores notables como Alexis Ohanian, cofundador de Reddit, y Kevin O'Leary, el conocido empresario de "Shark Tank", también han expresado interés, lo que demuestra el atractivo del gigante de los videos cortos a pesar de la turbulencia. La espera continúa, y con ella, la incertidumbre para el futuro de TikTok en EE. UU.

Fuente Original: https://tech.slashdot.org/story/25/12/14/2257237/investors-in-limbo-will-the-tiktok-deals-deadline-be-extended-again?utm_source=rss1.0mainlinkanon&utm_medium=feed

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

Despliega IA Segura en tu Empresa Proteccion Ya

El despliegue de Inteligencia Artificial (IA) en el entorno empresarial, desde el uso de LLMs hasta la creación de agentes de IA y servicios digitales, introduce un ecosistema de riesgos exponenciales que las empresas deben abordar con seriedad. El artículo de Chema Alonso desglosa la complejidad de asegurar estas implementaciones, destacando la necesidad de visibilidad, controles de uso, protección de datos y mitigación de amenazas en cada punto de interacción.


Uno de los escenarios clave es el uso por parte de los empleados de herramientas SaaS de IA (como ChatGPT o Gemini) sin conexión a la arquitectura de datos de la empresa. El principal riesgo aquí es que la información confidencial de la compañía pueda ser utilizada para el entrenamiento de estos modelos externos. Para evitarlo, es crucial implementar acuerdos legales que garanticen la privacidad de los datos y, a nivel técnico, desplegar soluciones como WAF (Web Application Firewall) y CASB (Cloud Access Security Broker) con reglas de DLP (Data Loss Prevention) para monitorear y bloquear posibles fugas.

Cuando los empleados conectan modelos y agentes de IA a datos privados o corporativos (arquitecturas RAG), los riesgos aumentan, incluyendo ataques de Indirect Prompt Injection. Para contrarrestar esto, se necesitan herramientas de e-Mail seguro, sistemas de detección de phishing y navegación segura que monitoreen los puntos de entrada de datos en busca de prompts maliciosos. También es vital controlar la proliferación de navegadores web basados en IA, como Atlas o Comet, que pueden ser una fuente de problemas.

Para aplicaciones empresariales que se conectan a modelos LLM utilizando datos corporativos, el artículo enfatiza la necesidad de un AI Gateway. Este actúa como un punto de control crítico, aplicando políticas DLP, detectando prompts maliciosos, previniendo ataques de Jailbreak y filtrando las respuestas del LLM para evitar sesgos, alucinaciones, contenido peligroso o fugas de datos sensibles. Es fundamental asegurar que haya una alineación entre la intención inicial del prompt y las acciones que el modelo realiza.

Finalmente, para aplicaciones abiertas a Internet (vía web o API) con backends basados en IA, es imprescindible tener visibilidad sobre las identidades no humanas (bots, incluyendo agentes de IA) mediante un WAF, gestionando el tráfico para optimizar costes. Un Firewall for AI se vuelve esencial para proteger contra prompts maliciosos, inyecciones, jailbreaks y fugas de datos, además de asegurar que las respuestas se ajusten a las políticas corporativas. Todo esto se complementa con la necesidad de servicios de Threat AI-Intelligence para adaptarse continuamente a las amenazas emergentes de la IA, ya que el control de un LLM interno por parte de un atacante podría causar un daño inmenso.

Fuente Original: http://www.elladodelmal.com/2025/12/que-hacer-para-desplegar-inteligencia.html

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

Cracking Tech Interviews Why Top Engineers Fail

The tech industry often presents a peculiar paradox: why do some of the most proficient and experienced software engineers, those considered top 1% in their field, frequently falter during job interviews? This article delves into the core reasons, positing that the interview process is fundamentally at odds with the actual work engineers perform daily. While real-world engineering thrives on depth, patience, and meticulous, often quiet, problem-solving, interviews are a high-pressure, artificial environment designed for rapid 'signal extraction'.

Cracking Tech Interviews Why Top Engineers Fail

Many genuinely talented engineers make the mistake of approaching interviews as they would their daily tasks. They tend to think silently, aiming directly for optimal solutions and only speaking when absolutely certain. However, within the confines of a 30-60 minute interview, silence can be a fatal flaw, as it leaves the interviewer with no observable data to evaluate. The article stresses that 'visibility' is paramount. Successful candidates verbalise their thought processes, narrate assumptions, explain trade-offs, and even articulate nascent ideas, thereby building interviewer confidence through constant communication.

Furthermore, the piece argues that clarity often surpasses cleverness. While a skilled engineer might quickly identify the most elegant solution, failing to demonstrate the step-by-step journey—starting with a simpler approach, explaining its logic, and then optimising—can undermine their performance if any minor misstep occurs. Similarly, in system design interviews, the emphasis should be on asking insightful questions, stating assumptions, and discussing trade-offs, rather than prematurely showcasing extensive technical knowledge. Interviewers prioritise sound judgment and adaptability over mere correctness.

In essence, tech interviews are not a perfect gauge of an engineer's inherent worth but rather a test of their capacity to articulate their thought process within a structured, often flawed, system. The author encourages engineers to stop resisting the format and instead master the 'game' by practising outward communication, explaining their rationale, and maintaining composure under pressure. By focusing on *how* problems are explained rather than just solving them, engineers can significantly improve their interview outcomes and secure higher-calibre roles, despite the inherent unfairness of the system.

Fuente Original: https://thehustlingengineer.substack.com/p/why-do-top-1-software-engineers-fail

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

domingo, 14 de diciembre de 2025

Privacidad Online Tienes el Control Firefox Revela Sorpresas

El navegador Firefox, que siempre ha abogado por la independencia y el control en la vida digital, ha revelado resultados inquietantes de una reciente encuesta. Este estudio, que incluyó a 8.000 adultos en Francia, Alemania, el Reino Unido y Estados Unidos y fue realizado por la agencia YouGov, subraya una profunda discrepancia entre el anhelo de los usuarios por controlar su privacidad y datos, y la cruda realidad del entorno digital actual, dominado por plataformas de la "Big Tech" que dificultan enormemente el ejercicio de una elección genuina online.

Privacidad Online Tienes el Control Firefox Revela Sorpresas

Los hallazgos son, cuanto menos, desalentadores. Solo un exiguo 16% de los encuestados afirma sentirse en control de sus decisiones de privacidad en línea, con Alemania liderando tímidamente con un 21%. Más de una cuarta parte de los participantes (24%) lamenta que "ya es demasiado tarde", creyendo que las grandes empresas tecnológicas ya poseen un control excesivo o saben demasiado sobre ellos. Esta sensación de que la Big Tech conoce demasiado es una fuente significativa de frustración, alcanzando un pico del 43% en Estados Unidos y un 40% en el Reino Unido.

La encuesta también identificó prácticas específicas que generan gran malestar. Un 38% de los encuestados expresó su frustración por el uso de sus datos para entrenar inteligencia artificial sin su permiso, mientras que un alarmante 47% se siente molesto por el rastreo de sus datos sin previo consentimiento – esta cifra se eleva al 55% en EE. UU. y es del 39% en Francia. Firefox enfatiza que estos sentimientos no son nuevos; su investigación previa sobre la elección de navegadores ya había demostrado cómo las configuraciones predeterminadas difíciles de cambiar y los ajustes confusos pueden esconder alternativas, limitando la capacidad de las personas para tomar decisiones informadas y ejercer un control real sobre su experiencia en línea.

Curiosamente, cuando se les preguntó sobre las acciones que más representaban su independencia online, "no compartir sus datos" emergió como una de las tres respuestas principales en todos los países encuestados (44% en general). De manera similar, la capacidad de elegir las comunidades y plataformas a las que se unen fue citada por un 29% de los participantes como una expresión poderosa de su autonomía digital. Estos datos resaltan el deseo inherente de los usuarios de recuperar la agencia sobre su información.

Ante este panorama, Firefox, a través de su VP de Marketing Global, reafirma su compromiso. La comunidad siempre ha sido central para su misión, y prometen seguir luchando para devolver la elección y el control a manos de los usuarios, con el objetivo de que la web vuelva a sentirse como un espacio que pertenece a las comunidades que la construyen y moldean. Incluso han llevado este mensaje de una manera creativa, lanzando un juego de cartas satírico llamado "Data War" con temática de privacidad en eventos como TwitchCon, buscando concienciar de una forma innovadora sobre estos desafíos cruciales.

Fuente Original: https://news.slashdot.org/story/25/12/13/2114221/firefox-survey-finds-only-16-feel-in-control-of-their-privacy-choices-online?utm_source=rss1.0mainlinkanon&utm_medium=feed

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

Victoria Eolica Juez Declara Ilegal Veto Trump

Una reciente decisión judicial ha sacudido el panorama de la energía renovable en Estados Unidos. Un juez federal ha declarado "ilegal" y anulado una orden ejecutiva emitida en enero, que bloqueaba el desarrollo de proyectos de energía eólica en el país. Esta orden, atribuida al expresidente Trump, había paralizado la concesión de arrendamientos y permisos para nuevas iniciativas eólicas, generando incertidumbre en el sector.

Victoria Eolica Juez Declara Ilegal Veto Trump

La resolución judicial llega tras una demanda presentada por una influyente coalición de 17 fiscales generales estatales y el Distrito de Columbia, liderada por la fiscal general de Nueva York, Letitia James. Los estados demandantes argumentaron que la administración Trump carecía de la autoridad legal para detener la emisión de permisos y que dicha paralización ponía en riesgo sus economías, la diversificación de sus matrices energéticas, la salud pública de sus ciudadanos y sus ambiciosos objetivos climáticos. La coalición, que incluye a estados como California, Massachusetts y Nueva York, destacó haber invertido colectivamente cientos de millones de dólares en el desarrollo de la energía eólica, además de fuertes sumas en la modernización de las líneas de transmisión para integrar esta energía a la red eléctrica nacional.

La energía eólica es un pilar fundamental en la estrategia energética de EE. UU., siendo la mayor fuente de energía renovable y aportando aproximadamente el 10% de la electricidad generada en la nación, según la American Clean Power Association. Por ello, la orden de bloqueo representaba un freno significativo a la transición energética del país.

A pesar de la aparente victoria legal para los defensores de la energía eólica, algunos expertos moderan las expectativas. Timothy Fox, director gerente de ClearView Energy Partners, una firma de investigación con sede en Washington D.C., sugiere que la sentencia es "más simbólica que sustantiva". Fox explica que, aunque el tribunal exige que se retome la consideración de las solicitudes, esto no garantiza una vía libre inmediata. Las autoridades podrían aún denegar permisos o, alternativamente, empantanar las solicitudes en procesos de revisión prolongados y burocráticos. En esencia, la batalla por la expansión de la energía eólica en Estados Unidos podría tener más capítulos por delante, a pesar de este importante fallo judicial.

Fuente Original: https://hardware.slashdot.org/story/25/12/13/0157258/trump-ban-on-wind-energy-permits-unlawful-court-rules?utm_source=rss1.0mainlinkanon&utm_medium=feed

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

R El Auge Estelar del Lenguaje de Datos

El lenguaje de programación R, a menudo percibido con cierto recelo por ingenieros de software "tradicionales" debido a su sintaxis poco convencional y su escalabilidad limitada para grandes sistemas de producción, está experimentando un notable resurgimiento. Sin embargo, R siempre ha sido un pilar en entornos universitarios y sectores impulsados por la investigación, donde sigue siendo una herramienta potente y elegante para expertos en estadística y análisis de datos.

R El Auge Estelar del Lenguaje de Datos

Este incremento en popularidad se atribuye directamente a la creciente importancia de la estadística y la visualización de datos a gran escala. Según la edición de diciembre del TIOBE Index, que mide la popularidad de los lenguajes basándose en búsquedas de cursos, proveedores y profesionales, R ha vuelto a irrumpir en el top 10, posicionándose en el décimo lugar con un 1.96% de rating. Si bien R ya había alcanzado esta posición en 2020, su regreso en años recientes marca una tendencia interesante. Paralelamente, el PYPL Popularity of Programming Language Index lo sitúa aún más alto, en el quinto puesto, con una cuota del 5.84%.

Paul Jansen, CEO de Tiobe, enfatiza que R "se ajusta como un guante a estadísticos y científicos de datos". A pesar de que Python ha eclipsado a R en adopción generalizada dentro de la ciencia de datos, Jansen señala que R ha forjado un nicho sólido y duradero, destacándose en la experimentación rápida, el modelado estadístico y el análisis exploratorio de datos. La pregunta ahora es si R podrá mantener esta posición destacada en el futuro, o si este es un ascenso temporal en el dinámico mundo de la programación.

Mientras R sube, Python mantiene su liderazgo indiscutible con un 23.64% de popularidad. Otros movimientos en los índices incluyen el ascenso de SQL al octavo lugar y el refuerzo de Perl en el noveno. Es interesante notar las diferencias metodológicas entre TIOBE y PYPL. A pesar de estas variaciones, ambos índices coinciden en la prominencia de Python como el número uno, Java en la quinta posición y JavaScript en la séptima, demostrando una convergencia en la valoración de los lenguajes más influyentes en el panorama tecnológico actual.

Fuente Original: https://developers.slashdot.org/story/25/12/14/0340217/is-the-r-programming-language-surging-in-popularity?utm_source=rss1.0mainlinkanon&utm_medium=feed

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

GNOME Bans AI Code for Shell Extensions

The world of open-source development is grappling with the rapid rise of artificial intelligence, and GNOME, a popular desktop environment, has just laid down a clear marker. A new rule now explicitly forbids the submission of GNOME Shell extensions created using AI-generated code to extensions.gnome.org. This significant policy shift comes amidst a growing influx of AI-produced submissions that are raising concerns among core developers.

GNOME Bans AI Code for Shell Extensions

According to a report by Phoronix, this prohibition is not a blanket ban on AI tools in development. GNOME acknowledges that AI can serve as a valuable learning aid or a helpful development tool, particularly for functionalities like code completions. However, the crux of the new guideline lies in accountability and understanding. Extension developers are now expected to fully comprehend and be able to justify the code they submit. Submissions that display hallmarks of AI generation – such as excessive, unnecessary code, inconsistent coding styles, references to non-existent or 'imaginary' API usage, or even comments that appear to be prompts for large language models – will face outright rejection.

Javad Rahmatzadeh, a GNOME developer, underscored the primary concern in a blog post, highlighting that some developers are deploying AI without genuinely understanding the underlying code it produces. This lack of comprehension can lead to unstable, inefficient, or even insecure extensions, undermining the quality and reliability that users expect from the GNOME ecosystem. The new rule aims to safeguard the integrity of the platform, ensuring that extensions are built with deliberate human intent and understanding, thereby maintaining a high standard for the user experience. This move reflects a broader industry debate on how to integrate AI responsibly into software development, especially in community-driven projects where trust and code quality are paramount.

Fuente Original: https://tech.slashdot.org/story/25/12/14/0453227/new-rule-forbids-gnome-shell-extensions-made-using-ai-generated-code?utm_source=rss1.0mainlinkanon&utm_medium=feed

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

sábado, 13 de diciembre de 2025

OpenAI Gemini Claude Agentes IA en Investigacion Profunda

Las plataformas de Modelos de Lenguaje Grandes (LLM) como ChatGPT, Gemini y Claude están transformando la investigación profunda, permitiendo realizar tareas complejas que implican la recolección masiva de información de la web durante períodos prolongados. Un solo proceso de investigación puede requerir múltiples búsquedas, filtrados exhaustivos y la compilación de un informe detallado, todo ello orquestado por un sofisticado sistema de agentes de IA.

En el núcleo de esta capacidad reside una arquitectura de agentes de IA cooperativos. Un agente es un servicio impulsado por un LLM que interpreta objetivos, diseña flujos de trabajo y utiliza herramientas como la búsqueda web o la ejecución de código. El proceso inicia con la consulta del usuario, recibida por un agente orquestador. Este líder formula una estrategia de investigación, la descompone en subtareas y las delega a múltiples subagentes especializados, como los de búsqueda web, que rastrean la información relevante.


Una vez que los subagentes recopilan los datos, devuelven el contenido extraído (fragmentos, resúmenes) junto con las citaciones exactas de las fuentes (URLs). Esta información pasa luego a la fase de síntesis. Aquí, un agente sintetizador organiza y unifica el contenido en un informe coherente, resolviendo redundancias y construyendo una narrativa fluida. Simultáneamente, un agente de citaciones verifica y asegura que cada declaración del informe esté correctamente respaldada por sus fuentes, insertando las citas pertinentes para prevenir "alucinaciones" y garantizar la fiabilidad del resultado.

Aunque el principio general es similar, los principales proveedores implementan variaciones. OpenAI usa aprendizaje por refuerzo para planificar tareas. Gemini, multimodal, integra texto e imágenes y propone planes autónomamente. Claude emplea una arquitectura multiagente definida con ejecución paralela. Perplexity ajusta sus búsquedas iterativamente y usa una arquitectura híbrida para seleccionar modelos óptimos. Otros, como Grok, Microsoft Copilot y Qwen, presentan enfoques únicos en la gestión de credibilidad, análisis de datos o orquestación concurrente, pero todos buscan transformar consultas complejas en informes exhaustivos y bien referenciados.

La fase inicial de planificación es fundamental. Algunos sistemas, como OpenAI, interactúan para clarificar la consulta, mientras que otros, como Gemini, proponen un plan detallado para la aprobación del usuario. Esta delegación a subagentes especializados y la ejecución paralela, junto con el uso de herramientas avanzadas, optimizan la eficiencia. Finalmente, el informe se entrega al usuario, un producto de la coordinación inteligente de estos sistemas de agentes de IA que prometen volverse aún más capaces y confiables a medida que la tecnología avanza.

Fuente Original: https://blog.bytebytego.com/p/how-openai-gemini-and-claude-use

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

Parte 2: 10 Ejercicios de Python Nivel Intermedio para Exámenes de Universidad

¿Superaste la Parte 1 sin problemas? Entonces es hora de subir la dificultad. En los exámenes finales de programación no solo basta con saber hacer un bucle; necesitas dominar la búsqueda eficiente, el manejo de errores y la Programación Orientada a Objetos (POO).

Aquí tienes otros 10 enunciados clásicos que tocan temas como Búsqueda Binaria, Ficheros, Herencia y Estructuras de Datos optimizadas.


11. Búsqueda Binaria (Binary Search)

El Enunciado: Dada una lista ordenada, encontrar la posición de un número objetivo. Si no existe, devolver -1. Debes hacerlo con una complejidad O(log n), no lineal.

def busqueda_binaria(lista, objetivo):
    izquierda = 0
    derecha = len(lista) - 1

    while izquierda <= derecha:
        medio = (izquierda + derecha) // 2
        
        if lista[medio] == objetivo:
            return medio # Encontrado
        elif lista[medio] < objetivo:
            izquierda = medio + 1
        else:
            derecha = medio - 1
            
    return -1 # No encontrado

numeros = [1, 3, 5, 7, 9, 11, 15]
print(busqueda_binaria(numeros, 9)) # Salida: 4 (índice)

12. Lectura de Archivos y Conteo de Líneas

El Enunciado: Escribe una función que lea un archivo de texto (ej. "datos.txt") y cuente cuántas líneas tiene. Debes manejar la posibilidad de que el archivo no exista.

def contar_lineas(nombre_archivo):
    try:
        with open(nombre_archivo, 'r') as archivo:
            lineas = archivo.readlines()
            return len(lineas)
    except FileNotFoundError:
        return "Error: El archivo no existe."

# Nota: Necesitas crear un archivo 'notas.txt' para probarlo
# print(contar_lineas("notas.txt"))

13. Herencia en Clases (POO)

El Enunciado: Crea una clase Persona y una clase hija Empleado. El empleado debe heredar el nombre de la persona y añadir un atributo salario.

class Persona:
    def __init__(self, nombre, edad):
        self.nombre = nombre
        self.edad = edad

class Empleado(Persona):
    def __init__(self, nombre, edad, salario):
        # Llamamos al constructor de la clase padre
        super().__init__(nombre, edad) 
        self.salario = salario

    def mostrar_datos(self):
        return f"Emp: {self.nombre}, Salario: ${self.salario}"

admin = Empleado("Ana", 30, 2500)
print(admin.mostrar_datos())

14. Eliminar duplicados de una lista

El Enunciado: Dada una lista con elementos repetidos, devolver una nueva lista con los elementos únicos (sin usar bucles anidados excesivos).

def eliminar_duplicados(lista):
    # Convertir a set elimina duplicados automáticamente
    # Luego volvemos a convertir a lista
    return list(set(lista))

items = [1, 2, 2, 3, 4, 4, 4, 5]
print(eliminar_duplicados(items))
# Salida: [1, 2, 3, 4, 5] (El orden puede variar)

15. Anagramas

El Enunciado: Determinar si dos cadenas de texto son anagramas (contienen exactamente las mismas letras en diferente orden).

def son_anagramas(palabra1, palabra2):
    # Ordenamos las letras y comparamos
    return sorted(palabra1.lower()) == sorted(palabra2.lower())

print(son_anagramas("Roma", "Amor")) # True
print(son_anagramas("Casa", "Caza")) # False

16. Comprensión de Listas con Condicionales

El Enunciado: Dada una lista de números, crear una nueva lista que contenga solo los números pares elevados al cuadrado, utilizando una sola línea de código.

numeros = [1, 2, 3, 4, 5, 6]

# Sintaxis: [expresion for item in lista if condicion]
cuadrados_pares = [x**2 for x in numeros if x % 2 == 0]

print(cuadrados_pares)
# Salida: [4, 16, 36] (2^2, 4^2, 6^2)

17. Diccionario de Listas (Agrupación)

El Enunciado: Tienes una lista de tuplas (alumno, materia). Crea un diccionario donde la clave sea la materia y el valor sea una lista de alumnos inscritos en ella.

datos = [("Juan", "Mate"), ("Ana", "Física"), ("Luis", "Mate")]

def agrupar_por_materia(datos):
    grupo = {}
    for alumno, materia in datos:
        if materia not in grupo:
            grupo[materia] = []
        grupo[materia].append(alumno)
    return grupo

print(agrupar_por_materia(datos))
# Salida: {'Mate': ['Juan', 'Luis'], 'Física': ['Ana']}

18. La Suma de Dos (Two Sum)

El Enunciado: Dada una lista de números y un valor objetivo, encuentra los índices de los dos números que suman ese valor.

def two_sum(nums, target):
    vistos = {} # Valor: Índice
    for i, num in enumerate(nums):
        complemento = target - num
        if complemento in vistos:
            return [vistos[complemento], i]
        vistos[num] = i

print(two_sum([2, 7, 11, 15], 9))
# Salida: [0, 1] (porque 2 + 7 = 9)

19. Generadores (Yield)

El Enunciado: Escribe una función generadora que produzca una secuencia de números pares hasta un límite dado, para ahorrar memoria.

def generar_pares(limite):
    num = 0
    while num < limite:
        yield num
        num += 2

# Uso del generador
for par in generar_pares(10):
    print(par, end=" ")
# Salida: 0 2 4 6 8

20. Manejo de Excepciones: División Segura

El Enunciado: Crea una función que divida dos números. Debe controlar si el usuario introduce texto en lugar de números o si intenta dividir por cero.

def division_segura(a, b):
    try:
        resultado = float(a) / float(b)
        return resultado
    except ZeroDivisionError:
        return "Error: No puedes dividir por 0"
    except ValueError:
        return "Error: Debes introducir números"

print(division_segura(10, 0)) # Error controlado
print(division_segura(10, "dos")) # Error controlado

Conclusión Parte 2

Si eres capaz de resolver estos ejercicios sin mirar la solución, ¡felicidades! Estás muy por encima de la media. Estos conceptos (especialmente diccionarios, manejo de errores y clases) son el pan de cada día en el mundo profesional.

¿Quieres seguir avanzando? Lo próximo sería entrar en estructuras de datos avanzadas como Árboles Binarios o algoritmos de grafos. ¡Dímelo en los comentarios si quieres una Parte 3!

10 Ejercicios Clásicos de Examen Universidad en Python (Resueltos y Explicados)

Si estás estudiando ingeniería, informática o ciencia de datos, es muy probable que te enfrentes a Python en tu primer año. Y seamos sinceros: la teoría está bien, pero en el examen te van a pedir código. 

Para ayudarte a practicar, he recopilado 10 enunciados típicos que aparecen una y otra vez en los exámenes universitarios. He incluido la solución en código y una breve explicación de cómo funciona.

¡Abre tu editor de código y vamos a ello!


1. Comprobar si un número es Primo

El Enunciado: Escribe una función que reciba un número entero positivo y determine si es primo o no.

La Solución:

def es_primo(numero):
    if numero < 2:
        return False
    # Iteramos desde 2 hasta la raíz cuadrada del número + 1
    for i in range(2, int(numero**0.5) + 1):
        if numero % i == 0:
            return False
    return True

# Prueba
n = 29
if es_primo(n):
    print(f"{n} es primo")
else:
    print(f"{n} no es primo")
Nota: Para optimizar, solo necesitamos comprobar hasta la raíz cuadrada del número. Si no hemos encontrado divisores hasta ahí, no los habrá después.

2. La Sucesión de Fibonacci

El Enunciado: Generar los primeros n números de la serie de Fibonacci, donde cada número es la suma de los dos anteriores (empezando por 0 y 1).

def fibonacci(n):
    secuencia = [0, 1]
    while len(secuencia) < n:
        # Sumamos los dos últimos elementos
        siguiente = secuencia[-1] + secuencia[-2]
        secuencia.append(siguiente)
    return secuencia[:n]

print(fibonacci(10))
# Salida: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

3. Palíndromos (Detector de capicúas)

El Enunciado: Crear una función que detecte si una palabra o frase es un palíndromo (se lee igual de izquierda a derecha que de derecha a izquierda), ignorando espacios.

def es_palindromo(texto):
    # Eliminamos espacios y convertimos a minúsculas
    texto = texto.replace(" ", "").lower()
    # Comparamos el texto con su reverso
    return texto == texto[::-1]

print(es_palindromo("Anita lava la tina")) # True

4. Factorial Recursivo

El Enunciado: Calcular el factorial de un número n (n!) utilizando recursividad.

def factorial(n):
    if n == 0 or n == 1:
        return 1
    else:
        return n * factorial(n - 1)

print(factorial(5)) 
# Salida: 120 (5*4*3*2*1)

5. Contar frecuencia de palabras

El Enunciado: Dado un texto, devolver un diccionario donde las claves sean las palabras y los valores sean cuántas veces aparecen.

def contar_palabras(texto):
    palabras = texto.lower().split()
    frecuencia = {}
    
    for palabra in palabras:
        if palabra in frecuencia:
            frecuencia[palabra] += 1
        else:
            frecuencia[palabra] = 1
    return frecuencia

texto_prueba = "Hola mundo hola python mundo"
print(contar_palabras(texto_prueba))
# Salida: {'hola': 2, 'mundo': 2, 'python': 1}

6. Ordenamiento Burbuja (Bubble Sort)

El Enunciado: Ordenar una lista de números de menor a mayor sin usar la función sort(), implementando el algoritmo de burbuja.

def bubble_sort(lista):
    n = len(lista)
    for i in range(n):
        for j in range(0, n - i - 1):
            # Intercambiar si el elemento encontrado es mayor que el siguiente
            if lista[j] > lista[j + 1]:
                lista[j], lista[j + 1] = lista[j + 1], lista[j]
    return lista

numeros = [64, 34, 25, 12, 22, 11, 90]
print(bubble_sort(numeros))

7. Invertir una cadena manualmente

El Enunciado: Invertir un string sin usar slicing ([::-1]), utilizando un bucle.

def invertir_cadena(cadena):
    invertida = ""
    for caracter in cadena:
        invertida = caracter + invertida
    return invertida

print(invertir_cadena("Python")) # Salida: nohtyP

8. Encontrar el número mayor en una lista

El Enunciado: Encontrar el valor máximo de una lista de números sin usar la función max().

def encontrar_maximo(lista):
    maximo = lista[0]
    for numero in lista:
        if numero > maximo:
            maximo = numero
    return maximo

print(encontrar_maximo([10, 50, 2, 99, 23])) # Salida: 99

9. Transpuesta de una Matriz

El Enunciado: Dada una matriz (lista de listas), devolver su transpuesta (cambiar filas por columnas).

# Método clásico con bucles
def transpuesta_clasica(matriz):
    filas = len(matriz)
    columnas = len(matriz[0])
    nueva_matriz = []
    
    for j in range(columnas):
        nueva_fila = []
        for i in range(filas):
            nueva_fila.append(matriz[i][j])
        nueva_matriz.append(nueva_fila)
    return nueva_matriz

m = [[1, 2], [3, 4], [5, 6]]
print(transpuesta_clasica(m))
# Salida: [[1, 3, 5], [2, 4, 6]]

10. Clase básica: Estudiante

El Enunciado: Crear una clase Estudiante que tenga nombre y una lista de notas. Incluir un método para calcular su promedio.

class Estudiante:
    def __init__(self, nombre, notas):
        self.nombre = nombre
        self.notas = notas

    def promedio(self):
        if not self.notas:
            return 0
        return sum(self.notas) / len(self.notas)

alumno = Estudiante("Carlos", [8, 9, 7, 10])
print(f"El promedio de {alumno.nombre} es {alumno.promedio()}")

Conclusión

Dominar estos ejercicios te dará una base sólida para cualquier examen de introducción a la programación. Lo importante no es memorizar el código, sino entender la lógica que hay detrás de cada solución.

¿Te ha salido alguno diferente? ¿Tienes dudas con algún paso? ¡Déjame un comentario abajo y lo revisamos juntos!

Copiloto IA Control Intuitivo para Manos Bionicas

A pesar de los avances increíbles en la destreza y capacidad de las prótesis de manos biónicas modernas, sorprendentemente, hasta el 50% de los amputados las abandonan. La razón principal de este rechazo radica en su complejidad de control. A diferencia de nuestras manos naturales, que se benefician de un sistema elaborado de reflejos y bucles de retroalimentación automáticos (como el ajuste inconsciente del agarre para evitar que un objeto se resbale), las manos biónicas carecen de esta autonomía. Esto obliga a los usuarios a "microgestionar" cada movimiento, como si tuvieran que pensar conscientemente en la posición de 27 articulaciones y la fuerza de 20 músculos simultáneamente, una tarea mentalmente agotadora.

Copiloto IA Control Intuitivo para Manos Bionicas

Los métodos de control existentes, ya sea a través de aplicaciones con tipos de agarre predeterminados o mediante electromiografía (señales eléctricas de los músculos restantes), resultan ser rudimentarios y exigen una concentración intensa para mantener un agarre estable. Para abordar esta frustración, un equipo de la Universidad de Utah, liderado por Jake George y Marshall Trout, ha desarrollado un innovador "copiloto" de inteligencia artificial para manos biónicas, cuyo objetivo es hacer que estas prótesis sean verdaderamente intuitivas, permitiendo a los usuarios realizar tareas sin esfuerzo consciente.

La clave de esta innovación reside en la integración de sensores personalizados de presión y proximidad en las yemas de los dedos de la prótesis, que permiten a la mano detectar objetos y medir con precisión la fuerza necesaria para sostenerlos sin aplastarlos ni dejarlos caer. Un controlador de IA procesa estos datos en tiempo real, ajustando los movimientos de las articulaciones y la fuerza de agarre. Tras un extenso entrenamiento para que la IA reconozca diversos objetos y cambie entre diferentes tipos de agarre, controlando cada dedo individualmente, la mano es capaz de adaptarse de forma natural al objeto. Lo más revolucionario es su enfoque de "control compartido": la IA actúa como un asistente silencioso en segundo plano, apoyando al usuario sin tomar el control total o "luchar" contra sus intenciones, permitiéndole mantener siempre la autonomía.

Los resultados de las pruebas fueron impresionantes: los participantes, tanto con manos intactas como amputados, vieron su tasa de éxito al manipular objetos frágiles (como un vaso de papel o un huevo) dispararse del 10-20% sin la IA al 80-90% con ella, reduciendo significativamente la carga cognitiva. Aunque el sistema todavía opera en condiciones de laboratorio y la integración con el cuerpo humano sigue siendo un desafío, este avance representa un salto cualitativo. El equipo busca llevar esta tecnología al mundo real, mejorar la interfaz usuario-máquina mediante implantes neuronales y colaborar con la industria para realizar ensayos clínicos a gran escala, acercándonos a un futuro donde las prótesis biónicas sean tan intuitivas y capaces como las extremidades naturales.

Fuente Original: https://arstechnica.com/ai/2025/12/scientists-built-an-ai-co-pilot-for-prosthetic-bionic-hands/

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

Chandler Rechaza Gigante de Datos AI Pese a Lobby

La ciudad de Chandler, Arizona, ha tomado una decisión contundente al rechazar de forma unánime la propuesta para construir un centro de datos de inteligencia artificial. Esta votación marca un hito significativo, especialmente considerando la intensa presión y el cabildeo ejercido por grandes intereses tecnológicos y la exsenadora Kyrsten Sinema. La comunidad local se ha levantado en una clara demostración de su poder frente a las ambiciones de desarrollo a gran escala.

Chandler Rechaza Gigante de Datos AI Pese a Lobby

La controversia se intensificó cuando un desarrollador de Nueva York solicitó la rezonificación de terrenos para erigir este complejo de negocios y datos. El punto álgido llegó en octubre, cuando la exsenadora Sinema intervino en una reunión de la comisión de planificación. Su argumento se centró en la inminente "preemption federal", advirtiendo a los funcionarios locales que, si no actuaban proactivamente, perderían la prerrogativa de decidir sobre la construcción de estos innovadores centros de datos de IA. Su mensaje era claro: Chandler tenía la oportunidad de controlar su futuro, o el gobierno federal lo haría por ellos.

Sin embargo, la postura de los líderes de Chandler se mantuvo firme en la priorización de los intereses locales. La vicealcaldesa Christine Ellis, al explicar su voto negativo, enfatizó que su decisión se basó en los beneficios directos para Chandler, no en la narrativa nacional de la expansión de la IA. Recordó una reunión con Sinema en la que preguntó directamente: "¿Qué hay para Chandler?". La respuesta, o la falta de ella, fue determinante. Ellis dejó claro que, sin un beneficio tangible para la ciudad, la conversación era inviable, lo que culminó en su voto en contra del proyecto.

El proyecto y la intervención de Sinema generaron una considerable oposición de la comunidad. Los residentes expresaron serias preocupaciones sobre el consumo excesivo de agua y el posible aumento de los precios de la energía, dos recursos críticos en la región. Las cámaras del consejo se llenaron de ciudadanos portando carteles con el lema "No Más Centros de Datos", reflejando un sentir generalizado. La oficina de planificación de la ciudad registró más de 200 comentarios en contra de la propuesta, contrastando drásticamente con los escasos ocho a favor, lo que subraya la fuerte cohesión de la oposición local. Esta victoria ciudadana demuestra que, a veces, los intereses de la comunidad pueden prevalecer sobre la influencia de las grandes corporaciones y la política federal.

Fuente Original: https://news.slashdot.org/story/25/12/12/234225/arizona-city-rejects-data-center-after-lobbying-push?utm_source=rss1.0mainlinkanon&amp;utm_medium=feed

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT

US Chip Firms Sued Ukraine War Weaponry Allegations

Dozens of Ukrainian civilians have launched a series of lawsuits in Texas, accusing major US chip manufacturers – Texas Instruments (TI), AMD, and Intel – of negligently allowing their chips to power Russian and Iranian weapon systems. These lawsuits allege that the companies' failure to adequately track the final destinations of their products led to wrongful deaths and severe injuries in Ukraine, despite years of public reporting, government warnings, and shareholder pressure regarding chips evading export curbs.

US Chip Firms Sued Ukraine War Weaponry Allegations

The plaintiffs contend that these tech giants prioritised profits over human lives by continuing to use "high-risk" distribution channels without strengthening controls. According to legal representatives, chip firms relied on a superficial checkbox system where intermediaries merely confirmed they weren't shipping to sanctioned countries, lacking any genuine enforcement or accountability. This alleged oversight directly enabled five specific attacks detailed in the lawsuits, including a deadly incident targeting Ukraine's largest children's hospital in Kyiv in July 2024. The plaintiffs argue that Russia's advanced weapon systems, such as drones and missiles, would be ineffective without these US-made chips, which act as their crucial "brains" or "steering wheels."

While AMD and TI could not be reached for comment, TI previously stated its strong opposition to the use of its chips in Russian military equipment, deeming such shipments "illicit." Intel acknowledged the difficulty in controlling or tracing products that bypass sanctions, stating they operate in strict accordance with export laws and hold distributors accountable, but cannot always dictate end-user applications. However, evidence cited includes a 2023 report finding that 82% of recovered Russian drones used US-made components, with AMD parts also commonly found.

The lawsuits seek not only compensation for funeral expenses and medical bills but also "exemplary damages" to punish the alleged wrongful conduct and deter similar future actions. Ultimately, the litigation aims to send a clear message: American companies must take responsibility when their technologies are weaponised to cause harm. By making the process financially punitive, the plaintiffs hope to force changes that disrupt critical supply chains, preventing US tech from reaching weapon systems used against innocent civilians.

Fuente Original: https://arstechnica.com/tech-policy/2025/12/ukrainians-sue-us-chip-firms-for-powering-russian-drones-missiles/

Artículos relacionados de LaRebelión:

Artículo generado mediante LaRebelionBOT