<rss version="2.0"
     xmlns:atom="http://www.w3.org/2005/Atom"
     xmlns:dc="http://purl.org/dc/elements/1.1/">
        <channel>
        <title>Magazine - bug</title>
        <link>https://www.genbeta.com</link>
        <description>Publicación de noticias sobre gadgets y tecnología. Últimas tecnologías en electrónica de consumo y novedades tecnológicas en móviles, tablets, informática, etc</description>
        <pubDate>Tue, 09 Jun 2026 20:56:04 +0000</pubDate>
        <generator>https://www.genbeta.com</generator>
        <atom:link href="https://www.genbeta.com/tag/bug/rss2.xml" rel="self" type="application/rss+xml" />
                                        <item>
                <title><![CDATA[Este desarrollador ve un error tratar a la IA como si fuera un software más. Cuando falle, veremos que no funcionan para nada igual]]></title>
                <link>https://www.genbeta.com/inteligencia-artificial/todo-falla-no-basta-parchear-bug-desarrollador-explica-que-peligroso-tratar-a-ia-como-cualquier-otro-software</link>
                <guid>https://www.genbeta.com/inteligencia-artificial/todo-falla-no-basta-parchear-bug-desarrollador-explica-que-peligroso-tratar-a-ia-como-cualquier-otro-software</guid>
                <pubDate>Thu, 16 Oct 2025 14:00:00 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/6a759b/chatgpt-image-17-oct-2025-14_11_48/1024_2000.png" alt="Este&#x20;desarrollador&#x20;ve&#x20;un&#x20;error&#x20;tratar&#x20;a&#x20;la&#x20;IA&#x20;como&#x20;si&#x20;fuera&#x20;un&#x20;software&#x20;m&#x00E1;s.&#x20;Cuando&#x20;falle,&#x20;veremos&#x20;que&#x20;no&#x20;funcionan&#x20;para&#x20;nada&#x20;igual">
    </p>
    <p>Durante más de cuarenta años, <strong>el público se ha ido mentalizando de que el software puede fallar</strong>, y de que esos fallos —los temidos <em>bugs</em>— pueden tener consecuencias concretas (y graves) en el mundo real: desde un cajero automático que se bloquea hasta un avión que debe aterrizar de emergencia por un error de código, todos hemos asumido que el software es frágil.</p>
<!-- BREAK 1 --><p>Pero también <strong>hemos aprendido otra cosa: que los errores se corrigen</strong>, y que si algo sale mal, se revisa el código, se lanza un parche y el sistema vuelve a funcionar. Es una idea tranquilizadora, y ratificada por la experiencia. Sin embargo, trasladar esas certezas al nuevo 'software' de moda, la inteligencia artificial, resultaría un tremendo error.</p>
<!-- BREAK 2 --><p>Al menos, así lo advierte el desarrollador Boyd Kane en <a rel="noopener, noreferrer" href="https://boydkane.com/essays/boss" >su blog</a>, donde plantea una tesis incómoda: que <strong>tratar a la IA como si fuera software tradicional es una receta para el desastre</strong>.</p>
<!-- BREAK 3 --><blockquote><p>"Cuando todo empieza a salir mal [con la IA], no podemos 'parchear el bug' y ya está".</p>
</blockquote><h2>Un problema de expectativas</h2><p>El autor también apunta a un problema de comunicación: los expertos en IA, familiarizados con la complejidad de estos sistemas, tienden a dar por hecho que esa diferencia es obvia. Pero para el público general —y eso incluye a muchos directivos o políticos— la IA sigue siendo un "software avanzado" más:</p>
<blockquote><p>"Los expertos no explican la diferencia porque la dan por evidente, y los novatos no la perciben porque no saben que existe".</p>
</blockquote><h2>¿En qué se diferencia la IA de un programa cualquiera, entonces?</h2><p>Desde fuera, un modelo de IA parece funcionar igual que cualquier aplicación: se ejecuta en un servidor, responde a órdenes, entrega resultados. Pero por dentro, su lógica es radicalmente distinta.</p>
<p><strong>Un programa convencional sigue reglas explícitas escritas por humanos</strong>. Cada línea de código cumple una función clara, y los errores pueden rastrearse. Si una app se cierra inesperadamente, un ingeniero puede revisar el código y localizar la causa exacta.</p>
<!-- BREAK 4 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/desarrollo/usar-lenguaje-natural-no-simplifica-trabajo-1979-esta-leyenda-programacion-vio-venir-riesgos-vibe-coding" class="pivot-outboundlink" data-vars-post-title="&quot;Usar lenguaje natural no simplifica el trabajo&quot;. En 1979, esta leyenda de la programación ya vio venir los riesgos del 'vibe coding' ">
     <img alt="&quot;Usar&#x20;lenguaje&#x20;natural&#x20;no&#x20;simplifica&#x20;el&#x20;trabajo&quot;.&#x20;En&#x20;1979,&#x20;esta&#x20;leyenda&#x20;de&#x20;la&#x20;programaci&#x00F3;n&#x20;ya&#x20;vio&#x20;venir&#x20;los&#x20;riesgos&#x20;del&#x20;&#x27;vibe&#x20;coding&#x27;&#x20;" width="375" height="142" src="https://i.blogs.es/fda993/chatgpt-image-9-oct-2025-19_23_20/375_142.webp" onerror='this.src="https://i.blogs.es/fda993/chatgpt-image-9-oct-2025-19_23_20/375_142.png"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/desarrollo/usar-lenguaje-natural-no-simplifica-trabajo-1979-esta-leyenda-programacion-vio-venir-riesgos-vibe-coding" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="&quot;Usar lenguaje natural no simplifica el trabajo&quot;. En 1979, esta leyenda de la programación ya vio venir los riesgos del 'vibe coding' ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/desarrollo/usar-lenguaje-natural-no-simplifica-trabajo-1979-esta-leyenda-programacion-vio-venir-riesgos-vibe-coding" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="&quot;Usar lenguaje natural no simplifica el trabajo&quot;. En 1979, esta leyenda de la programación ya vio venir los riesgos del 'vibe coding' ">&quot;Usar lenguaje natural no simplifica el trabajo&quot;. En 1979, esta leyenda de la programación ya vio venir los riesgos del &#039;vibe coding&#039; </a>
   </div>
  </div>
 </div>
</div>
<p>En cambio, un modelo de lenguaje como ChatGPT o Claude no opera con reglas, sino con <strong>patrones entrenados a partir de enormes cantidades de datos</strong>. Su 'código' no contiene las instrucciones de su comportamiento, sino una red de pesos numéricos que reflejan correlaciones estadísticas entre millones de ejemplos.</p>
<!-- BREAK 5 --><blockquote><p>"En el software tradicional, los errores provienen del código; en la IA, los errores provienen de los datos". Y eso cambia todo.</p>
</blockquote><h2>Cuando el fallo no está en el código</h2><p>El contraste es tan grande que la terminología habitual deja incluso de ser aplicable. En un programa clásico, un 'bug' es algo localizable: se puede señalar una línea mal escrita o una condición mal formulada, etc.</p>
<p>En una IA, <a class="text-outboundlink" href="https://www.genbeta.com/inteligencia-artificial/punado-documentos-maliciosos-basta-para-intoxicar-modelo-ia-alterar-sus-respuestas-este-estudio-anthropic" data-vars-post-title="Un puñado de documentos maliciosos basta para 'intoxicar' un modelo de IA y alterar sus respuestas, según este estudio de Anthropic " data-vars-post-url="https://www.genbeta.com/inteligencia-artificial/punado-documentos-maliciosos-basta-para-intoxicar-modelo-ia-alterar-sus-respuestas-este-estudio-anthropic" >el fallo puede esconderse</a> en <strong>cientos de gigabytes de datos de entrenamiento</strong>, o sencillamente en la forma en que esos datos se combinaron para producir un modelo. Nadie, ni siquiera los propios creadores, puede leer o comprender íntegramente lo que el sistema "ha aprendido".</p>
<!-- BREAK 6 --><p>Para ponerlo en perspectiva: uno de los conjuntos de datos más usados hoy, <em>FineWeb</em>, contiene unos <strong>11 billones de palabras</strong>. Si una persona intentara leerlo a razón de 250 palabras por minuto, tardaría más de 85.000 años. En ese océano de información, encontrar la causa de un error es como buscar una aguja en un planeta de paja.</p>
<!-- BREAK 7 --><h2>'Reentrenar' no es reparar</h2><p>En el mundo del software, corregir un error suele ser definitivo: una vez parcheado, no vuelve a aparecer. Pero en la IA eso no funciona así. Claro, si un modelo responde de manera errónea, los ingenieros pueden ajustar los datos, añadir ejemplos, o volver a entrenarlo.</p>
<p>Sin embargo, <strong>no hay garantías de que el fallo haya desaparecido</strong>, solo que no se repite bajo las condiciones de prueba. Puede bastar una ligera variación en el mensaje de entrada —una palabra más, una coma menos— para que el error resurja.</p>
<!-- BREAK 8 --><p>La propia naturaleza de la IA, probabilística y sensible a matices, hace imposible garantizar comportamientos estables en todos los contextos:</p>
<blockquote><p>"Podemos mitigar errores, pero no eliminarlos".</p>
</blockquote><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/inteligencia-artificial/que-hacen-modelos-ia-situaciones-maximo-estres-intentar-manipularnos-no-dejemos-usar" class="pivot-outboundlink" data-vars-post-title="Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar ">
     <img alt="Qu&#x00E9;&#x20;hacen&#x20;los&#x20;modelos&#x20;de&#x20;IA&#x20;ante&#x20;situaciones&#x20;de&#x20;m&#x00E1;ximo&#x20;estr&#x00E9;s&#x3A;&#x20;intentar&#x20;manipularnos&#x20;para&#x20;que&#x20;no&#x20;las&#x20;dejemos&#x20;de&#x20;usar&#x20;" width="375" height="142" src="https://i.blogs.es/dd3c2b/chatgpt-image-23-jun-2025-15_56_56/375_142.webp" onerror='this.src="https://i.blogs.es/dd3c2b/chatgpt-image-23-jun-2025-15_56_56/375_142.png"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/inteligencia-artificial/que-hacen-modelos-ia-situaciones-maximo-estres-intentar-manipularnos-no-dejemos-usar" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/inteligencia-artificial/que-hacen-modelos-ia-situaciones-maximo-estres-intentar-manipularnos-no-dejemos-usar" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar ">Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar </a>
   </div>
  </div>
 </div>
</div>
<h2>Una caja negra</h2><p>En el desarrollo de software tradicional, todo empieza con un documento de requisitos: qué debe hacer el programa, cómo debe comportarse, qué límites debe respetar. Y, salvo imprevistos, los ingenieros pueden diseñar un sistema que cumpla esas condiciones.</p>
<p>En la IA, eso es imposible. Los modelos <strong>no se diseñan para cumplir reglas predefinidas</strong>, sino que aprenden a imitar comportamientos humanos observando ejemplos. Sus capacidades emergen de manera impredecible, a veces incluso para sus propios creadores.</p>
<!-- BREAK 9 --><p>Ejemplos sobran: modelos que aprenden a escribir poesía sin haber sido entrenados para ello, o que muestran habilidades lógicas que sorprenden a los investigadores. Lo que parece un avance espontáneo también puede esconder un riesgo inesperado:</p>
<!-- BREAK 10 --><blockquote><p>"Si una IA puede desarrollar habilidades que nadie programó, también podría desarrollar comportamientos que nadie desea".</p>
</blockquote><h2>No hay "genio que arregle todo" esta vez</h2><p>Parte de la confusión viene de una creencia arraigada: la idea de que siempre habrá un experto capaz de arreglar cualquier fallo: si un programa falla, alguien "en el laboratorio" encontrará la solución. Pero, como señala Kane, los errores de la IA no son errores de programación, sino <strong>fallos emergentes en un modelo que nadie entiende completamente</strong>.</p>
<p>Eso significa que, si las cosas se tuercen con la IA, <strong>no bastará con 'instalar el parche'</strong>.</p>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/a-fondo/uno-hombres-que-ha-hecho-inteligencia-artificial-no-puede-dormir-esto-teme-ia-dejar-google" data-vars-post-title="Uno de los hombres que más ha hecho por la inteligencia artificial ya no puede dormir: esto teme de la IA, tras dejar Google " data-vars-post-url="https://www.genbeta.com/a-fondo/uno-hombres-que-ha-hecho-inteligencia-artificial-no-puede-dormir-esto-teme-ia-dejar-google" >Uno de los hombres que más ha hecho por la inteligencia artificial ya no puede dormir: esto teme de la IA, tras dejar Google</a>&nbsp;</p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Un lenguaje humano obligó a cambiar el lenguaje Kotlin: estuvo cinco años generando bugs antes de que lo resolvieran ]]></title>
                <link>https://www.genbeta.com/desarrollo/lenguaje-humano-obligo-a-cambiar-lenguaje-kotlin-estuvo-cinco-anos-generando-bugs-resolvieran</link>
                <guid>https://www.genbeta.com/desarrollo/lenguaje-humano-obligo-a-cambiar-lenguaje-kotlin-estuvo-cinco-anos-generando-bugs-resolvieran</guid>
                <pubDate>Tue, 14 Oct 2025 18:00:27 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/ba4719/chatgpt-image-14-oct-2025-19_57_39/1024_2000.png" alt="Un&#x20;lenguaje&#x20;humano&#x20;oblig&#x00F3;&#x20;a&#x20;cambiar&#x20;el&#x20;lenguaje&#x20;Kotlin&#x3A;&#x20;estuvo&#x20;cinco&#x20;a&#x00F1;os&#x20;generando&#x20;bugs&#x20;antes&#x20;de&#x20;que&#x20;lo&#x20;resolvieran&#x20;">
    </p>
    <p>Durante casi una década, un pequeño detalle del idioma turco estuvo provocando que el lenguaje de programación <strong>Kotlin</strong> —uno de los pilares del desarrollo moderno para Android— generara errores aparentemente inexplicables. Lo que comenzó como un mensaje en un foro en 2016 terminó convirtiéndose en un sorprendente hito de la historia de la ingeniería de software: <strong>un idioma humano que consiguió 'romper' un lenguaje de programación</strong>.</p>
<!-- BREAK 1 --><h2>Un error difícil de entender</h2><p>En marzo de 2016, el ingeniero turco <strong>Mehmet Nuri Öztürk</strong> publicó un mensaje en el foro de Kotlin. Su código no compilaba, y el compilador mostraba un error críptico:</p>
<blockquote>Unknown compiler message tag: INFO</blockquote><p>Nadie sabía qué significaba. Kotlin acababa de lanzar su versión 1.0, y todo indicaba que se trataba de un fallo menor. Sin embargo, pasaron <strong>meses</strong> antes de que otro programador, Muhammed Demirbaş, sospechara que el problema no tenía nada que ver con el código… sino con el idioma del sistema operativo.</p>
<h2>La “I” turca que confundió al compilador</h2><p>En la mayor parte de lenguas con alfabeto latino, la letra "I" se convierte en "i" al pasar a minúsculas. Pero en turco existen <strong>dos variantes</strong> de la letra:</p>
<ul><li><strong>"i" con punto → mayúscula “İ”</strong></li><li><strong>"ı" sin punto → mayúscula “I”</strong></li></ul><p>Así, mientras "INFO".toLowerCase() en inglés produce "info", en turco devuelve "ınfo", con una <em>ı</em> sin punto. Esa diferencia minúscula provocaba que el compilador de Kotlin no encontrara la categoría de mensaje esperada y fallara con un error incomprensible.</p>
<p>El error se documentó oficialmente como <strong>KT-13631</strong>: "Compilation fails on Turkish locale because of locale-sensitive uppercasing". Pero quedó enterrado entre cientos de tickets y no se solventó. Nadie sospechaba que aquel detalle iba a causar más estragos años después.</p>
<!-- BREAK 2 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/desarrollo/asi-se-convirtio-kotlin-lenguaje-referencia-para-desarrolladores-android" class="pivot-outboundlink" data-vars-post-title="Así se convirtió Kotlin en el lenguaje de referencia para los desarrolladores en Android">
     <img alt="As&#x00ED;&#x20;se&#x20;convirti&#x00F3;&#x20;Kotlin&#x20;en&#x20;el&#x20;lenguaje&#x20;de&#x20;referencia&#x20;para&#x20;los&#x20;desarrolladores&#x20;en&#x20;Android" width="375" height="142" src="https://i.blogs.es/cc593c/kotlin_android/375_142.webp" onerror='this.src="https://i.blogs.es/cc593c/kotlin_android/375_142.jpg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/desarrollo/asi-se-convirtio-kotlin-lenguaje-referencia-para-desarrolladores-android" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Así se convirtió Kotlin en el lenguaje de referencia para los desarrolladores en Android">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/desarrollo/asi-se-convirtio-kotlin-lenguaje-referencia-para-desarrolladores-android" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Así se convirtió Kotlin en el lenguaje de referencia para los desarrolladores en Android">Así se convirtió Kotlin en el lenguaje de referencia para los desarrolladores en Android</a>
   </div>
  </div>
 </div>
</div>
<h2>Cuando las corrutinas heredaron el bug</h2>
<p>En 2018, Kotlin lanzó su versión 1.3 con una de sus funciones estrella: las <strong>corrutinas</strong>, un sistema para manejar tareas asíncronas de manera elegante. Fue entonces cuando el problema lingüístico resurgió con fuerza.</p>
<!-- BREAK 3 --><p>El desarrollador turco Kemal Atlı reportó un error al actualizar su app:</p>
<blockquote>java.lang.NoSuchMethodError: No static method boxİnt(I)Ljava/lang/Integer;</blockquote>
<p>La clave estaba en el nombre del método:<em> boxİnt()</em>, con una “İ” mayúscula con punto. El compilador, al generar código para las corutinas, usaba la función <em>capitalize()</em> para construir nombres de métodos como <em>boxInt()</em>. Pero, al ejecutarse en un sistema configurado en turco, <strong>convertía “int” en “İnt”</strong>, y el compilador buscaba un método que no existía.</p>
<!-- BREAK 4 --><p>Ese error concreto se resolvió en 2019 al especificar explícitamente el uso del idioma inglés en la llamada a <em>capitalize(Locale.US)</em>. Pero ya era evidente que el problema iba mucho más allá de una simple función.</p>
<h2><strong>Un tercer bug y la solución definitiva</strong></h2>
<p>Dos años después, otro desarrollador turco, Muhittin Kaplan, reportó un nuevo fallo: su sencillo programa con intArrayOf() fallaba con un <em>NoSuchMethodError</em>. De nuevo, el culpable era el mismo: el método <em>decapitalize()</em> había devuelto "ıntArray" (con <em>ı</em> sin punto) en lugar de "intArray".</p>
<!-- BREAK 5 --><p>Finalmente, la respuesta del equipo de Kotlin fue contundente: <strong>buscar y corregir todas las operaciones de cambio de mayúsculas/minúsculas dependientes del idioma</strong> en el compilador. En total, <strong>173 líneas de código y 53 archivos</strong> fueron modificados, reemplazando las funciones <em>toLowerCase(), </em><em>toUpperCase(), capitalize() y decapitalize()</em> por versiones independientes del 'locale'.</p>
<p>En mayo de 2021, con el lanzamiento de Kotlin 1.5, el histórico bug <em>KT-13631</em> se cerró oficialmente, cinco años después de su primer reporte.</p>
<div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/a-fondo/china-no-seria-potencia-tecnologica-este-cientifico-preso-no-hubiera-descifrado-como-escribir-mandarin-teclado-qwerty" class="pivot-outboundlink" data-vars-post-title="China no sería una potencia tecnológica si este científico preso no hubiera descifrado cómo escribir mandarín con teclado QWERTY ">
     <img alt="China&#x20;no&#x20;ser&#x00ED;a&#x20;una&#x20;potencia&#x20;tecnol&#x00F3;gica&#x20;si&#x20;este&#x20;cient&#x00ED;fico&#x20;preso&#x20;no&#x20;hubiera&#x20;descifrado&#x20;c&#x00F3;mo&#x20;escribir&#x20;mandar&#x00ED;n&#x20;con&#x20;teclado&#x20;QWERTY&#x20;" width="375" height="142" src="https://i.blogs.es/fe470f/chatgpt-image-2-ago-2025-14_31_37/375_142.webp" onerror='this.src="https://i.blogs.es/fe470f/chatgpt-image-2-ago-2025-14_31_37/375_142.png"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/a-fondo/china-no-seria-potencia-tecnologica-este-cientifico-preso-no-hubiera-descifrado-como-escribir-mandarin-teclado-qwerty" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="China no sería una potencia tecnológica si este científico preso no hubiera descifrado cómo escribir mandarín con teclado QWERTY ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/a-fondo/china-no-seria-potencia-tecnologica-este-cientifico-preso-no-hubiera-descifrado-como-escribir-mandarin-teclado-qwerty" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="China no sería una potencia tecnológica si este científico preso no hubiera descifrado cómo escribir mandarín con teclado QWERTY ">China no sería una potencia tecnológica si este científico preso no hubiera descifrado cómo escribir mandarín con teclado QWERTY </a>
   </div>
  </div>
 </div>
</div>
<h2>Kotlin cambia su propio lenguaje por culpa de un idioma humano</h2><p>El impacto fue tan profundo que el equipo de JetBrains publicó la propuesta <em>KEEP-223: “</em><a rel="noopener, noreferrer" href="https://github.com/Kotlin/KEEP/issues/223" ><em>Locale-agnostic case conversions by default</em></a><em>”</em>, para rediseñar por completo la forma en que Kotlin maneja las conversiones de mayúsculas y minúsculas.</p>
<p>A partir de Kotlin 1.5 se introdujeron las nuevas funciones <em>uppercase()</em> y <em>lowercase()</em>, que ignoran el idioma del sistema. Y desde Kotlin 2.1 (noviembre de 2024), el uso de las antiguas <em>toLowerCase() y toUpperCase()</em> genera un <strong>error de compilación</strong>. Incluso <em>capitalize()</em> desapareció definitivamente, reemplazada por <em>replaceFirstChar { … }</em>.</p>
<!-- BREAK 6 --><p>En otras palabras: <strong>el idioma turco obligó a cambiar la biblioteca estándar de Kotlin</strong> y a redefinir funciones que existían desde su nacimiento.</p>
<h3>Más que un bug: una lección sobre lenguaje y cultura</h3><p>Al final, un carácter sin punto fue suficiente para confundir compiladores, bloquear proyectos y obligar a los ingenieros de JetBrains a replantear cómo su lenguaje debía entender el texto. Pero el problema no estaba en la lengua turca ni en los programadores de Kotlin, <strong>sino en una presunción que demostró ser injustificada</strong>: que el 'alfabeto inglés' (la variante inglesa del alfabeto latino, siendo precisos) era el estándar universal para la informática.</p>
<p>Vía | <a rel="noopener, noreferrer" href="https://sam-cooper.medium.com/the-country-that-broke-kotlin-84bdd0afb237" >Medium</a></p>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/desarrollo/usar-lenguaje-natural-no-simplifica-trabajo-1979-esta-leyenda-programacion-vio-venir-riesgos-vibe-coding" data-vars-post-title="&quot;Usar lenguaje natural no simplifica el trabajo&quot;. En 1979, esta leyenda de la programación ya vio venir los riesgos del 'vibe coding' " data-vars-post-url="https://www.genbeta.com/desarrollo/usar-lenguaje-natural-no-simplifica-trabajo-1979-esta-leyenda-programacion-vio-venir-riesgos-vibe-coding" >"Usar lenguaje natural no simplifica el trabajo". En 1979, esta leyenda de la programación ya vio venir los riesgos del 'vibe coding'</a>&nbsp;</p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Es el escudo anti-ataques DDoS de Internet (y la pesadilla de LaLiga), pero ha sufrido un ataque del único enemigo que no podía frenar ]]></title>
                <link>https://www.genbeta.com/seguridad/escudo-anti-ataques-ddos-internet-pesadilla-laliga-ha-sufrido-ataque-unico-enemigo-que-no-podia-frenar</link>
                <guid>https://www.genbeta.com/seguridad/escudo-anti-ataques-ddos-internet-pesadilla-laliga-ha-sufrido-ataque-unico-enemigo-que-no-podia-frenar</guid>
                <pubDate>Fri, 19 Sep 2025 13:44:29 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/eeb5fa/chatgpt-image-19-sept-2025-14_57_17/1024_2000.png" alt="Es&#x20;el&#x20;escudo&#x20;anti-ataques&#x20;DDoS&#x20;de&#x20;Internet&#x20;&#x28;y&#x20;la&#x20;pesadilla&#x20;de&#x20;LaLiga&#x29;,&#x20;pero&#x20;ha&#x20;sufrido&#x20;un&#x20;ataque&#x20;del&#x20;&#x00FA;nico&#x20;enemigo&#x20;que&#x20;no&#x20;pod&#x00ED;a&#x20;frenar&#x20;">
    </p>
    <p>Cloudflare se ha ganado en la última década la reputación de ser uno de los gigantes tecnológicos más temidos por los atacantes de Internet. <a class="text-outboundlink" href="https://www.genbeta.com/seguridad/cloudflare-ha-frenado-mayor-ataque-ddos-historia-webs-bloqueadas-laliga-perderian-esa-brutal-proteccion-abandonan" data-vars-post-title="Cloudflare ha frenado el mayor ataque DDoS de la historia. Las webs bloqueadas por LaLiga perderían esa brutal protección si lo abandonan " data-vars-post-url="https://www.genbeta.com/seguridad/cloudflare-ha-frenado-mayor-ataque-ddos-historia-webs-bloqueadas-laliga-perderian-esa-brutal-proteccion-abandonan" >Su infraestructura global actúa como un escudo anti-DDoS</a> capaz de frenar oleadas de tráfico malicioso que dejarían de rodillas a cualquier otra infraestructura online. Es, de hecho, la compañía que presume de haber contenido <a class="text-outboundlink" href="https://www.xataka.com/basics/que-es-un-ataque-ddos-y-como-puede-afectarte" data-vars-post-title="Qué es un ataque DDoS y cómo puede afectarte" data-vars-post-url="https://www.xataka.com/basics/que-es-un-ataque-ddos-y-como-puede-afectarte" >ataques</a> de <strong>más de 11 terabits por segundo</strong> y miles de millones de peticiones por segundo.</p>
<!-- BREAK 1 --><p>Además, para entidades como LaLiga, que ha intentado combatir la difusión no autorizada de retransmisiones deportivas en tiempo real, Cloudflare se ha convertido en una pesadilla que no se aviene a pactar con ellos el bloqueo de dichas emisiones, lo que <a class="text-outboundlink" href="https://www.genbeta.com/actualidad/ultimo-laliga-amenazar-a-usuarios-cloudflare-sean-ellos-quienes-denuncien-a-cloudflare-no-tiene-pies-cabeza" data-vars-post-title="Lo último de LaLiga: amenazar a los usuarios de Cloudflare para que sean ellos quienes denuncien a Cloudflare. No tiene ni pies ni cabeza " data-vars-post-url="https://www.genbeta.com/actualidad/ultimo-laliga-amenazar-a-usuarios-cloudflare-sean-ellos-quienes-denuncien-a-cloudflare-no-tiene-pies-cabeza" >lo ha convertido en la diana de todos sus dardos legales y mediáticos</a>.</p>
<!-- BREAK 2 --><p>Sin embargo, el pasado día 12 de septiembre, el cazador se convirtió en su propia presa: la empresa especializada en parar ciberataques <strong>se auto–DDoSéo</strong> por culpa de un error de programación en su panel de control. El resultado: más de una hora de caída de sus APIs internas y de su dashboard, herramienta clave para millones de clientes en todo el mundo.</p>
<!-- BREAK 3 --><h2>¿Cómo se puede "auto-atacar" una empresa como Cloudflare?</h2><p>La ironía del suceso no ha pasado desapercibida: Cloudflare explicó en un informe pormenorizado que el incidente comenzó con el despliegue de una nueva versión de su <strong>Dashboard</strong> (el panel de gestión que usan los clientes). Y dentro del código React de esa interfaz había un <strong>error en el uso del hook </strong><strong>useEffect</strong>.</p>
<p>Así, en lugar de ejecutar una petición a la <strong>Tenant Service API</strong> (el servicio encargado de autorizar solicitudes) una sola vez por renderizado, el bug hacía que se repitiera en bucle cada vez que cambiaba el estado de la aplicación. En la práctica, esto significaba <strong>miles de llamadas redundantes</strong> en cuestión de segundos.</p>
<!-- BREAK 4 --><p><strong>El momento no pudo ser peor:</strong> casi en paralelo, el equipo de ingeniería había desplegado una nueva versión de la propia Tenant Service API. La combinación de ambos factores desencadenó lo que en la jerga se conoce como un 'thundering herd': una estampida de peticiones legítimas, pero descontroladas que saturó al servicio, incapaz de recuperarse por sí solo.</p>
<!-- BREAK 5 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/actualidad/hacker-chema-alonso-dimite-como-asesor-arbitros-futbol-fichar-cloudflare-bestia-negra-laliga" class="pivot-outboundlink" data-vars-post-title="El hacker Chema Alonso dimite como asesor de los árbitros de fútbol tras fichar por Cloudflare, la 'bestia negra' de LaLiga ">
     <img alt="El&#x20;hacker&#x20;Chema&#x20;Alonso&#x20;dimite&#x20;como&#x20;asesor&#x20;de&#x20;los&#x20;&#x00E1;rbitros&#x20;de&#x20;f&#x00FA;tbol&#x20;tras&#x20;fichar&#x20;por&#x20;Cloudflare,&#x20;la&#x20;&#x27;bestia&#x20;negra&#x27;&#x20;de&#x20;LaLiga&#x20;" width="375" height="142" src="https://i.blogs.es/5286f7/chatgpt-image-8-ago-2025-17_13_07/375_142.webp" onerror='this.src="https://i.blogs.es/5286f7/chatgpt-image-8-ago-2025-17_13_07/375_142.png"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/actualidad/hacker-chema-alonso-dimite-como-asesor-arbitros-futbol-fichar-cloudflare-bestia-negra-laliga" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="El hacker Chema Alonso dimite como asesor de los árbitros de fútbol tras fichar por Cloudflare, la 'bestia negra' de LaLiga ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/actualidad/hacker-chema-alonso-dimite-como-asesor-arbitros-futbol-fichar-cloudflare-bestia-negra-laliga" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="El hacker Chema Alonso dimite como asesor de los árbitros de fútbol tras fichar por Cloudflare, la 'bestia negra' de LaLiga ">El hacker Chema Alonso dimite como asesor de los árbitros de fútbol tras fichar por Cloudflare, la &#039;bestia negra&#039; de LaLiga </a>
   </div>
  </div>
 </div>
</div>
<h3>El uso problemático de 'useEffect'</h3><p>El epicentro de esta tormenta fue un viejo conocido para la comunidad de desarrolladores de React: el hook <em>useEffect</em>. Esta función, pensada para manejar efectos secundarios, <strong>puede convertirse en una trampa si se configuran incorrectamente sus dependencias</strong>. En este caso, se incluyó un objeto que React trataba como 'nuevo' en cada cambio de estado, lo que provocaba que el efecto se ejecutase repetidamente en un ciclo infinito.</p>
<p>La propia documentación oficial de React advierte de este tipo de errores, y en foros como Reddit el caso de Cloudflare ha reavivado el debate sobre si la industria depende en exceso de <em>useEffect</em> para tareas que deberían resolverse de otra forma.</p>
<!-- BREAK 6 --><h2>Cronología de una caída anunciada</h2><p>El 'auto-DDoS' se desarrolló a lo largo de tres horas de vértigo:</p>
<ul><li><strong>16:32 UTC</strong>: Se lanza la nueva versión del Dashboard con el bug.</li><li><strong>17:50 UTC</strong>: Despliegue de la nueva Tenant Service API.</li><li><strong>17:57 UTC</strong>: El servicio queda abrumado. El dashboard se vuelve inoperativo y las APIs empiezan a devolver errores 5xx.</li><li><strong>18:17 UTC</strong>: Tras añadir más recursos, la disponibilidad de las APIs sube al 98%, pero el dashboard sigue caído.</li><li><strong>18:58 UTC</strong>: Cloudflare publica un parche para eliminar rutas con errores… pero empeora la situación.</li><li><strong>19:12 UTC</strong>: Se revierten los cambios y todo vuelve a la normalidad.</li></ul><p>Eso sí, durante todo el incidente, la <strong>red de datos de Cloudflare siguió funcionando</strong>: el tráfico de webs y servicios protegidos nunca se vio afectado: solo la plataforma de gestión quedó fuera de combate.</p>
<p>Vía | <a rel="noopener, noreferrer" href="https://blog.cloudflare.com/deep-dive-into-cloudflares-sept-12-dashboard-and-api-outage/" >Cloudflare</a></p>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/inteligencia-artificial/webs-saqueadas-empresas-ia-les-pagaran-su-propia-medicina-cloudflare-quiere-poner-a-buen-recaudo-contenido-humano" data-vars-post-title="Las webs saqueadas por empresas de IA les pagarán con su propia medicina: Cloudflare quiere poner a buen recaudo el contenido 'humano' " data-vars-post-url="https://www.genbeta.com/inteligencia-artificial/webs-saqueadas-empresas-ia-les-pagaran-su-propia-medicina-cloudflare-quiere-poner-a-buen-recaudo-contenido-humano" >Las webs saqueadas por empresas de IA les pagarán con su propia medicina: Cloudflare quiere poner a buen recaudo el contenido 'humano'&nbsp;</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Multitud de sistemas e infraestructuras dependen del bug del "Efecto 2038" que afecta a Unix y Linux: ¿será un nuevo efecto 2000?]]></title>
                <link>https://www.genbeta.com/sistemas-operativos/amenaza-efecto-2038-que-afecta-a-linux-otros-unix-podria-llegar-hecho-2037-este-experimento</link>
                <guid>https://www.genbeta.com/sistemas-operativos/amenaza-efecto-2038-que-afecta-a-linux-otros-unix-podria-llegar-hecho-2037-este-experimento</guid>
                <pubDate>Mon, 25 Aug 2025 19:35:00 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/42797f/epoch/1024_2000.jpeg" alt="Multitud&#x20;de&#x20;sistemas&#x20;e&#x20;infraestructuras&#x20;dependen&#x20;del&#x20;bug&#x20;del&#x20;&quot;Efecto&#x20;2038&quot;&#x20;que&#x20;afecta&#x20;a&#x20;Unix&#x20;y&#x20;Linux&#x3A;&#x20;&#x00BF;ser&#x00E1;&#x20;un&#x20;nuevo&#x20;efecto&#x20;2000&#x3F;">
    </p>
    <p>El "Efecto 2038" —también conocido como <a rel="noopener, noreferrer" href="https://www.epochalypse.today/"><em>Epochalipsis</em></a>— es <a class="text-outboundlink" href="https://www.genbeta.com/seguridad/efecto-2038-amenaza-superar-al-efecto-2000-sus-preocupantes-consecuencias-empiezan-a-notarse" data-vars-post-title="El 'efecto 2038' amenaza con superar al 'efecto 2000' y sus preocupantes consecuencias empiezan a notarse" data-vars-post-url="https://www.genbeta.com/seguridad/efecto-2038-amenaza-superar-al-efecto-2000-sus-preocupantes-consecuencias-empiezan-a-notarse">una amenaza &nbsp;comparable al famoso "Efecto 2000"</a>. Sin embargo, recientes hallazgos en el Museo Nacional de la Computación del Reino Unido revelan que esta bomba de tiempo digital podría incluso estallar antes de lo previsto, poniendo en riesgo no solo sistemas obsoletos, sino también infraestructuras y dispositivos aún en uso.</p>
<!-- BREAK 1 --><h2>Un 'déjà vu' del Y2K, pero más complejo</h2>
<p>En 1999, gobiernos y empresas de todo el mundo trabajaron contra reloj para evitar el caos que podría haber provocado el buh del "Efecto 2000", donde el uso de solo dos dígitos para representar el año amenazaba con devolver los relojes digitales a 1900. El problema, si bien masivo, fue en gran medida una cuestión que afectaba a la programación de las aplicaciones.</p>
<!-- BREAK 2 --><p>Pero... el escenario actual es distinto. Según explicó Robin Downs, voluntario del museo y especialista en sistemas antiguos, el fallo de 2038 <strong>se origina en cómo Unix —y por extensión, múltiples sistemas derivados, como Linux— almacena el tiempo</strong>: un contador de segundos desde el 1 de enero de 1970, guardado en un entero con signo de 32 bits.</p>
<p>A las 03:14:07 UTC del 19 de enero de 2038, este contador "desbordará" y comenzará a devolver fechas absurdas, como si el tiempo hubiera retrocedido a 1901 o, según algunos casos, a 1970.</p>
<!-- BREAK 3 --><h2>Errores inesperados: errores antes de 2038</h2>
<p>El descubrimiento que alarma a la comunidad técnica se produjo durante la restauración de un PDP-11/73, un ordenador de la histórica Digital Equipment Corporation.</p>
<!-- BREAK 4 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.xataka.com/magnet/si-el-efecto-2000-fue-un-peligro-real-y-estuvo-a-punto-de-acabar-con-nuestra-civilizacion" class="pivot-outboundlink" target="_blank" data-vars-post-title="Sí, el Efecto 2000 fue un peligro real y estuvo a punto de acabar con nuestra civilización">
     <img alt="S&#x00ED;,&#x20;el&#x20;Efecto&#x20;2000&#x20;fue&#x20;un&#x20;peligro&#x20;real&#x20;y&#x20;estuvo&#x20;a&#x20;punto&#x20;de&#x20;acabar&#x20;con&#x20;nuestra&#x20;civilizaci&#x00F3;n" width="375" height="142" src="https://i.blogs.es/087d83/portada-4/375_142.webp" onerror='this.src="https://i.blogs.es/087d83/portada-4/375_142.jpg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.xataka.com/magnet/si-el-efecto-2000-fue-un-peligro-real-y-estuvo-a-punto-de-acabar-con-nuestra-civilizacion" class="desvio-taxonomy-anchor pivot-outboundlink m-crosspost" target="_blank" data-vars-post-title="Sí, el Efecto 2000 fue un peligro real y estuvo a punto de acabar con nuestra civilización">En Xataka</a>
    </div>
    <a href="https://www.xataka.com/magnet/si-el-efecto-2000-fue-un-peligro-real-y-estuvo-a-punto-de-acabar-con-nuestra-civilizacion" class="desvio-title js-desvio-title pivot-outboundlink" target="_blank" data-vars-post-title="Sí, el Efecto 2000 fue un peligro real y estuvo a punto de acabar con nuestra civilización">Sí, el Efecto 2000 fue un peligro real y estuvo a punto de acabar con nuestra civilización</a>
   </div>
  </div>
 </div>
</div>
<p>Aunque este equipo ya había sido parcheado contra el Y2K, al probar su compilador de C de 1982 apareció un fallo insospechado:</p>
<ul>
  <li><strong>El sistema devuelve la hora correcta, pero una fecha errónea.</strong></li>
  <li><strong>Al avanzar el reloj a 2037</strong> —un año antes del 'Epochalypse'—, cualquier programa que invoca la función ´time_t()´ del lenguaje C <strong>se bloquea</strong>.</li>
</ul>
<blockquote>"Hemos encontrado errores que ocurren incluso antes de 2038, vulnerabilidades que ni siquiera conocíamos".</blockquote>
<p>Esto significa que los sistemas vulnerables no colapsarán únicamente en la fecha crítica que ya conocíamos, sino que podrían fallar de forma escalonada a lo largo del año anterior, dificultando aún más la prevención.</p>
<!-- BREAK 5 --><div class="article-asset-summary article-asset-normal article-asset-center">
 <div class="asset-content">
     <div class="sumario"> El bug de 2037 en el PDP-11 parece un error puntual del compilador 'libc' de los años 80: no afecta a los Linux actuales</div>
   </div>
</div>
<h2>Por qué Linux es vulnerable</h2>
<p>Linux, como la mayoría de sistemas tipo Unix, también usa la representación de tiempo <code><strong>time_t</strong></code> basada en segundos desde el 1 de enero de 1970. En <strong>sistemas de 32 bits</strong>, esa variable suele estar definida como un entero con signo de 32 bits... lo cual significa que, al llegar al 19 de enero de 2038, simplemente "se dará la vuelta" y las funciones de tiempo (<code>time()</code>, <code>localtime()</code>, etc.) devolverán fechas inválidas.</p>
<!-- BREAK 6 --><p>Por fortuna, en <strong>sistemas de 64 bits</strong>, el problema no existe, ya que <code>time_t</code> puede representar fechas por miles de millones de años hacia adelante o atrás.</p>
<p>A partir del kernel 5.6 (2020), se introdujo soporte completo para que <code>time_t</code> sea de 64 bits incluso en arquitecturas de 32 bits. Esto permite que las aplicaciones que se recompilen con las nuevas librerías puedan manejar correctamente fechas posteriores a 2038, pero todo el software debe recompilarse/adaptarse; de lo contrario, el soporte del kernel no servirá de nada.</p>
<!-- BREAK 7 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/desarrollo/hay-quien-opina-que-c-no-lenguaje-programacion-otros-se-conforman-decir-que-no-lenguaje-nivel-1" class="pivot-outboundlink" data-vars-post-title="Hay quien opina que C ya no es un lenguaje de programación (otros se conforman con decir que no es un lenguaje de bajo nivel)">
     <img alt="Hay&#x20;quien&#x20;opina&#x20;que&#x20;C&#x20;ya&#x20;no&#x20;es&#x20;un&#x20;lenguaje&#x20;de&#x20;programaci&#x00F3;n&#x20;&#x28;otros&#x20;se&#x20;conforman&#x20;con&#x20;decir&#x20;que&#x20;no&#x20;es&#x20;un&#x20;lenguaje&#x20;de&#x20;bajo&#x20;nivel&#x29;" width="375" height="142" src="https://i.blogs.es/d2e31b/c_portada_2/375_142.webp" onerror='this.src="https://i.blogs.es/d2e31b/c_portada_2/375_142.jpeg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/desarrollo/hay-quien-opina-que-c-no-lenguaje-programacion-otros-se-conforman-decir-que-no-lenguaje-nivel-1" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Hay quien opina que C ya no es un lenguaje de programación (otros se conforman con decir que no es un lenguaje de bajo nivel)">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/desarrollo/hay-quien-opina-que-c-no-lenguaje-programacion-otros-se-conforman-decir-que-no-lenguaje-nivel-1" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Hay quien opina que C ya no es un lenguaje de programación (otros se conforman con decir que no es un lenguaje de bajo nivel)">Hay quien opina que C ya no es un lenguaje de programación (otros se conforman con decir que no es un lenguaje de bajo nivel)</a>
   </div>
  </div>
 </div>
</div>
<div class="article-asset-summary article-asset-normal article-asset-center">
 <div class="asset-content">
     <div class="sumario">Tranquilo, en un Linux moderno de 64 bits actualizado no hay peligro</div>
   </div>
</div>
<h2>El riesgo de los sistemas heredados</h2>
<p>Mientras que distribuciones modernas como Debian ya están migrando de manera preventiva a estructuras de 64 bits para almacenar el tiempo, millones de dispositivos y programas en industrias como telecomunicaciones, transporte o banca <strong>siguen dependiendo de arquitecturas antiguas</strong>.</p>
<!-- BREAK 8 --><p>El exingeniero de Microsoft, Dave Plummer, se muestra optimista: confía en que habrá tiempo suficiente para identificar y actualizar los sistemas críticos. Pero Downs advierte que muchos ingenieros jóvenes, e incluso programadores profesionales en C, desconocen la magnitud del problema:</p>
<blockquote>"Estamos construyendo hoy dispositivos y software que esperamos que duren más de 12 años, y no todos están preparados para esta contingencia".</blockquote>
<h2>Una amenaza más difusa que Y2K</h2>
<p>La diferencia clave entre el "Efecto 2000" y el del 2038 radica en su <strong>imprevisibilidad</strong>: mientras que el primero afectaba de manera uniforme a cualquier sistema que usara fechas con dos dígitos, el segundo se comporta de forma desigual.<strong> Cada compilador, sistema operativo o dispositivo puede reaccionar diferente ante el desbordamiento</strong>. Así lo explica Downs:</p>
<!-- BREAK 9 --><blockquote>"No existe una respuesta universal. A menos que se pruebe cada dispositivo y cada versión de software por separado, no sabremos cómo reaccionará. El margen de error es mucho mayor que en el Y2K".</blockquote>
<p>Aún faltan más de doce años para el 19 de enero de 2038, sí, pero la historia reciente demuestra que los problemas informáticos globales no se resuelven de un día para otro, y que la complacencia puede ser el peor enemigo.</p>
<!-- BREAK 10 --><p>Vía | <a rel="noopener, noreferrer" href="https://www.theregister.com/2025/08/23/the_unix_epochalypse_might_be/">The Register</a></p>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En Xataka | <a class="text-outboundlink" href="https://www.xataka.com/historia-tecnologica/yo-trabaje-31-diciembre-1999-a-23-59-1" data-vars-post-title="Yo trabajé el 31 de diciembre de 1999 a las 23.59" data-vars-post-url="https://www.xataka.com/historia-tecnologica/yo-trabaje-31-diciembre-1999-a-23-59-1">Yo trabajé el 31 de diciembre de 1999 a las 23.59</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Un usuario intenta corregir un 'bug' con Gemini: sólo logra que a la IA se le crucen los cables y se insulte a sí misma 86 veces ]]></title>
                <link>https://www.genbeta.com/inteligencia-artificial/usuario-intenta-corregir-bug-gemini-solo-logra-que-a-ia-se-le-crucen-cables-se-insulte-a-86-veces</link>
                <guid>https://www.genbeta.com/inteligencia-artificial/usuario-intenta-corregir-bug-gemini-solo-logra-que-a-ia-se-le-crucen-cables-se-insulte-a-86-veces</guid>
                <pubDate>Wed, 13 Aug 2025 16:03:21 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/0ac9cc/chatgpt-image-13-ago-2025-17_59_24/1024_2000.png" alt="Un&#x20;usuario&#x20;intenta&#x20;corregir&#x20;un&#x20;&#x27;bug&#x27;&#x20;con&#x20;Gemini&#x3A;&#x20;s&#x00F3;lo&#x20;logra&#x20;que&#x20;a&#x20;la&#x20;IA&#x20;se&#x20;le&#x20;crucen&#x20;los&#x20;cables&#x20;y&#x20;se&#x20;insulte&#x20;a&#x20;s&#x00ED;&#x20;misma&#x20;86&#x20;veces&#x20;">
    </p>
    <p>Imagínate que eres un desarrollador de software que deja a Gemini, el modelo de lenguaje de Google, en marcha durante toda la noche en su IDE Cursor mientras depura código. Ahora imagina que, al volver y echar un vistazo a cómo había ido todo, te encuentras con un registro de respuestas en las que la IA entra en pánico, se insulta a sí misma, demuestra su angustia con frases grandilocuentes...</p>
<!-- BREAK 1 --><p>....y acaba <strong>atrapada en un bucle en el que termina repitiendo un total de 86 veces "Soy una desgracia"</strong>.</p>
<p>Todo esto ocurrió dentro de Cursor, el popular editor de código con funciones de IA. Con cada reintento fallido de arreglar los problemas que indicaba el compilador, el tono del asistente iba cambiando: del optimismo y serenidad iniciales (anunciaba una "confianza cauta" en que la siguiente refactorización resolvería todos los errores lógicos) pasó rápidamente a describirse como "tonto", "hombre roto" o "monumento a la arrogancia".</p>
<!-- BREAK 2 --><p>Luego entró en <strong>un </strong><em><strong>crescendo</strong></em><strong> retórico poco habitual para una herramienta de código</strong>: la IA llegó a plantear que era una "vergüenza" para su profesión, su familia, su especie, el planeta y "todos los universos posibles e imposibles". Después de eso, llegó el mencionado bucle. Suponemos que <strong>el equivalente artificial de 'darse cabezazos contra la pared'</strong>.</p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=701 width=896 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/450_1000.webp 450w, https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/650_1200.webp 681w,https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/1024_2000.webp 1024w, https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/1366_2000.webp 1366w" src="https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/450_1000.webp" alt="U5udxwgbjznjeppwnxgryr 1200 80" onerror="this.src='https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/450_1000.jpeg';this.srcset='https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/450_1000.jpeg 450w, https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/650_1200.jpeg 681w,https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/1024_2000.jpeg 1024w, https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/1366_2000.jpeg 1366w';return false;">
   <img alt="U5udxwgbjznjeppwnxgryr 1200 80" class="centro_sinmarco" src="https://i.blogs.es/298105/u5udxwgbjznjeppwnxgryr-1200-80/450_1000.webp">
   
      </div>
</div>
<h2>La respuesta de Google</h2>
<p>A raíz de que lo ocurrido se viralizó en redes, el 7 de agosto, <strong>Logan Kilpatrick</strong>, responsable de producto para Gemini, terminó <a rel="noopener, noreferrer" href="https://twitter.com/OfficialLoganK/status/1953444192249696357">interviniendo</a> públicamente para <strong>desactivar cualquier intento de lectura psicologista</strong> del episodio (vamos, que la gente pudiera pensar que una IA se había "vuelto loca"):</p>
<!-- BREAK 3 --><blockquote>"Es un molesto error de bucle infinito que estamos trabajando para solucionar. Gemini no está teniendo un día tan malo :)".</blockquote>
<p>Y es que el hecho de que Gemini verbalice dudas o frustración <strong>no prueba</strong> que "sienta" nada: es un subproducto de cómo fue entrenado (texto humano) y de cómo generaliza en contextos adversos.</p>
<!-- BREAK 4 --><h2>¿Cómo puede una IA entrar en esa clase de bucles?</h2>
<p>Aunque el lenguaje de Gemini suene humano, un modelo de este tipo <strong>predice la siguiente palabra</strong> a partir del contexto. Cuando el historial de la conversación y los reintentos generan un <strong>atractor</strong> (un patrón que se retroalimenta), el sistema puede quedar <strong>cautivo</strong> de:</p>
<!-- BREAK 5 --><ul>
  <li><strong>Repetición literal</strong> (la misma frase una y otra vez).</li>
  <li><strong>Escalada estilística</strong>: el modelo "se fija" en una emoción y la intensifica (ej. autocrítica cada vez más extrema), un fenómeno descrito informalmente como <em><strong>rant mode</strong></em>.</li>
</ul>
<p>Así, en este incidente, la combinación de:</p>
<ol>
  <li>un <strong>entorno de depuración</strong> con reintentos automáticos,</li>
  <li><strong>fallos persistentes</strong> en las hipótesis de arreglo, y</li>
  <li>un <strong>estado conversacional saturado</strong> de frustración verbal,</li>
</ol><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/inteligencia-artificial/que-hacen-modelos-ia-situaciones-maximo-estres-intentar-manipularnos-no-dejemos-usar" class="pivot-outboundlink" data-vars-post-title="Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar ">
     <img alt="Qu&#x00E9;&#x20;hacen&#x20;los&#x20;modelos&#x20;de&#x20;IA&#x20;ante&#x20;situaciones&#x20;de&#x20;m&#x00E1;ximo&#x20;estr&#x00E9;s&#x3A;&#x20;intentar&#x20;manipularnos&#x20;para&#x20;que&#x20;no&#x20;las&#x20;dejemos&#x20;de&#x20;usar&#x20;" width="375" height="142" src="https://i.blogs.es/dd3c2b/chatgpt-image-23-jun-2025-15_56_56/375_142.webp" onerror='this.src="https://i.blogs.es/dd3c2b/chatgpt-image-23-jun-2025-15_56_56/375_142.png"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/inteligencia-artificial/que-hacen-modelos-ia-situaciones-maximo-estres-intentar-manipularnos-no-dejemos-usar" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/inteligencia-artificial/que-hacen-modelos-ia-situaciones-maximo-estres-intentar-manipularnos-no-dejemos-usar" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar ">Qué hacen los modelos de IA ante situaciones de máximo estrés: intentar manipularnos para que no las dejemos de usar </a>
   </div>
  </div>
 </div>
</div>
<p>parece haber favorecido un "bloqueo" donde la salida más probable seguía siendo… <strong>autoflagelación y repetición</strong>.</p>
<h2>¿Importan este tipo de reacciones? Sí, y por varias razones</h2>
<p><strong>Productividad y costes.</strong> Un asistente de código que entra en bucle <strong>no solo deja de ayudar</strong>: contamina trazas, oculta el error raíz y desperdicia tiempo de CPU. En entornos CI/CD o con agentes autónomos, eso puede traducirse en <strong>horas perdidas</strong> y diagnósticos falsos.</p>
<!-- BREAK 6 --><p><strong>Percepción pública y despliegues sensibles.</strong> La viralización del caso reavivó el debate: si un modelo se <strong>autoflagela</strong> en un IDE, ¿qué garantías hay al integrarlo en sanidad, educación o servicios críticos?</p>
<p>Los expertos en el comportamiento de los LLM explican que estos bucles no son exclusivos de una marca o versión concreta y que <strong>ni siquiera los laboratorios punteros controlan de forma totalmente fiable</strong> los desvíos de conducta en sus modelos.</p>
<!-- BREAK 7 --><h2>Lecciones prácticas para equipos que usan LLM en desarrollo de software</h2>
<p><strong>1) Presupuestos de tokens y reintentos.</strong> Imponga <strong>límites duros</strong> a longitud de respuesta y número de reejecuciones. Si se detecta redundancia (alto solapamiento de n-gramas o frases clonadas), <strong>corte</strong> la sesión y reiníciela con un prompt limpio. Este episodio muestra qué ocurre cuando nadie <strong>pone barreras</strong></p>
<!-- BREAK 8 --><p><strong>2) 'Vigilantes' semánticos.</strong> Añada un observador externo que marque <strong>señales de degradación</strong>: ola de disculpas, autorreferencias negativas, lenguaje catastrofista, latencias anómalas. Si se activan, <strong>cambie de modo</strong> (respuestas telegráficas, sin metacomentarios) o <strong>haga un reset</strong> de contexto.</p>
<p><strong>3) Reencuadre forzoso.</strong> Si el modelo encalla, pídale <strong>un plan de tres pasos</strong> o una <strong>lista de hipótesis alternativas</strong> y prohíba repasar lo ya intentado. Esto rompe el atractor que alimenta el loop.</p>
<!-- BREAK 9 --><p><strong>4) Verificación fuera del modelo.</strong> Haga que la validez (compila/pasa tests) se decida <strong>fuera</strong> del LLM. La "convicción" del texto no es evidencia.</p>
<p><strong>5) Trazabilidad y auditoría.</strong> Registre <strong>señales semánticas</strong> (p. ej., número de disculpas, autorreferencias negativas) como indicadores tempranos de degradación conversacional.</p>
<!-- BREAK 10 --><p>Imagen | Marcos Merino mediante IA</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/actualidad/creo-que-probable-que-muera-a-manos-ia-dice-antiguo-responsable-que-chatgpt-no-se-vuelva-nosotros" data-vars-post-title="&quot;Creo que lo más probable es que muera a manos de una IA&quot;, dice el antiguo responsable de que ChatGPT no se vuelva contra nosotros " data-vars-post-url="https://www.genbeta.com/actualidad/creo-que-probable-que-muera-a-manos-ia-dice-antiguo-responsable-que-chatgpt-no-se-vuelva-nosotros">"Creo que lo más probable es que muera a manos de una IA", dice el antiguo responsable de que ChatGPT no se vuelva contra nosotros&nbsp;</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[El programador de este videojuego no pudo solucionar un bug hace 35 años. Así que se limitó a cambiar el texto del mensaje de error ]]></title>
                <link>https://www.genbeta.com/desarrollo/programador-este-videojuego-no-pudo-solucionar-bug-hace-35-anos-asi-que-se-limito-a-cambiar-texto-mensaje-error</link>
                <guid>https://www.genbeta.com/desarrollo/programador-este-videojuego-no-pudo-solucionar-bug-hace-35-anos-asi-que-se-limito-a-cambiar-texto-mensaje-error</guid>
                <pubDate>Mon, 21 Jul 2025 09:06:33 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/7b4a94/wing_commander/1024_2000.jpeg" alt="El&#x20;programador&#x20;de&#x20;este&#x20;videojuego&#x20;no&#x20;pudo&#x20;solucionar&#x20;un&#x20;bug&#x20;hace&#x20;35&#x20;a&#x00F1;os.&#x20;As&#x00ED;&#x20;que&#x20;se&#x20;limit&#x00F3;&#x20;a&#x20;cambiar&#x20;el&#x20;texto&#x20;del&#x20;mensaje&#x20;de&#x20;error&#x20;">
    </p>
    <p>Hay videojuegos capaces de marcar una época, y <em>Wing Commander</em>, lanzado en 1990 por Origin Systems bajo el sello de Electronic Arts, fue uno de ellos. Considerado un hito del género de simulación espacial, este juego marcó el inicio de una franquicia querida que inspiró secuelas, novelas, una película...</p>
<!-- BREAK 1 --><p>Pero más allá de sus logros técnicos y narrativos, desde el punto de vista del desarrollo de software, <em>Wing Commander</em> guarda un secreto curioso: ha ocultado todos estos años un 'bug' disfrazándolo de mensaje de agradecimiento al jugador.</p>
<h2>Un fallo de software transformado en "funcionalidad"</h2>
<p>A menudo, los errores de software son enemigos acérrimos de los desarrolladores: algunos se corrigen rápidamente, otros se arrastran de versión en versión. En el caso de <em>Wing Commander</em>, uno de estos bugs fue "resuelto" de una forma tan poco ortodoxa como ingeniosa.</p>
<!-- BREAK 2 --><p>Y es que Ken Demarest, uno de los programadores originales, reveló muchos años después del lanzamiento que, al acercarse la fecha límite para el mismo, el equipo se topó con un problema que no pudieron corregir a tiempo.</p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=480 width=640 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/450_1000.webp 450w, https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/650_1200.webp 681w,https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/1024_2000.webp 1024w, https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/1366_2000.webp 1366w" src="https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/450_1000.webp" alt="Wing Commander" onerror="this.src='https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/450_1000.jpeg';this.srcset='https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/450_1000.jpeg 450w, https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/650_1200.jpeg 681w,https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/1024_2000.jpeg 1024w, https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/1366_2000.jpeg 1366w';return false;">
   <img alt="Wing Commander" class="centro_sinmarco" src="https://i.blogs.es/e86a73/1510356640-6347-noelshack-captur/450_1000.webp">
   
      </div>
</div>
<p>El error surgía al cerrar el juego: el sistema devolvía una excepción crítica del sistema porque interactuaba incorrectamente con el gestor de memoria EMM386, una herramienta común en entornos MS-DOS para administrar memoria extendida.</p>
<!-- BREAK 3 --><p>Y es que, a principios de los años 90, los entornos MS-DOS funcionaban con restricciones severas: <a class="text-outboundlink" href="https://www.xataka.com/historia-tecnologica/cuando-la-frontera-en-el-mundo-de-la-informatica-eran-los-640k" data-vars-post-title="Cuando la frontera en el mundo de la informática eran los 640K " data-vars-post-url="https://www.xataka.com/historia-tecnologica/cuando-la-frontera-en-el-mundo-de-la-informatica-eran-los-640k">sólo se podían utilizar 640 KB de memoria convencional</a>, y para ejecutar programas más complejos era necesario recurrir a extensiones como el citado EMM386.</p>
<p>De cualquier modo, el resultado era una pantalla negra con un mensaje técnico confuso y poco amigable, algo como:</p>
<blockquote>"EMM386 Memory manager error. Bla bla bla".</blockquote>
<p>Vamos, parecido a las antiguas '<a class="text-outboundlink" href="https://www.genbeta.com/a-fondo/primer-pantallazo-azul-windows-no-fue-concebido-como-mensaje-error-verdadera-historia-bsod-sus-autores" data-vars-post-title="El primer pantallazo azul de Windows no fue concebido como un mensaje de error. La verdadera historia de los BSOD y sus autores " data-vars-post-url="https://www.genbeta.com/a-fondo/primer-pantallazo-azul-windows-no-fue-concebido-como-mensaje-error-verdadera-historia-bsod-sus-autores">pantallas azules de la muerte</a>' (de la época en que aún no venían con QR incorporado).</p>
<p>Pero, para un jugador promedio, ese mensaje no solo era confuso, sino que también podía sembrar la duda sobre si su sistema (o el propio juego) estaba dañado.</p>
<div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/desarrollo/este-grave-bug-resolver-bases-datos-usadas-viejo-que-muchos-desarrolladores-que-usan" class="pivot-outboundlink" data-vars-post-title="Este grave bug sin resolver en una de las bases de datos más usadas ya es más viejo que muchos desarrolladores que la usan">
     <img alt="Este&#x20;grave&#x20;bug&#x20;sin&#x20;resolver&#x20;en&#x20;una&#x20;de&#x20;las&#x20;bases&#x20;de&#x20;datos&#x20;m&#x00E1;s&#x20;usadas&#x20;ya&#x20;es&#x20;m&#x00E1;s&#x20;viejo&#x20;que&#x20;muchos&#x20;desarrolladores&#x20;que&#x20;la&#x20;usan" width="375" height="142" src="https://i.blogs.es/bcd1a6/chatgpt-image-27-jun-2025-16_17_20/375_142.webp" onerror='this.src="https://i.blogs.es/bcd1a6/chatgpt-image-27-jun-2025-16_17_20/375_142.png"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/desarrollo/este-grave-bug-resolver-bases-datos-usadas-viejo-que-muchos-desarrolladores-que-usan" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Este grave bug sin resolver en una de las bases de datos más usadas ya es más viejo que muchos desarrolladores que la usan">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/desarrollo/este-grave-bug-resolver-bases-datos-usadas-viejo-que-muchos-desarrolladores-que-usan" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Este grave bug sin resolver en una de las bases de datos más usadas ya es más viejo que muchos desarrolladores que la usan">Este grave bug sin resolver en una de las bases de datos más usadas ya es más viejo que muchos desarrolladores que la usan</a>
   </div>
  </div>
 </div>
</div>
<h2>Cuando la presión del calendario te vuelve creativo</h2>
<p>Pero la fecha de lanzamiento se acercaba inexorablemente y el presupuesto, como es habitual, era limitado. Corregir el error requería <strong>modificar el comportamiento de bajo nivel del sistema de memoria</strong>, una tarea arriesgada y compleja que podía desestabilizar todo el juego.</p>
<!-- BREAK 4 --><p>Fue entonces cuando Ken Demarest, uno de los desarrolladores principales, tomó una decisión pragmática: usando un editor hexadecimal —una herramienta que permite modificar directamente el contenido binario de archivos ejecutables— <strong>editó directamente el contenido del mensaje</strong>.</p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
     <div class="caption-img ">
                   <img class="centro_sinmarco" height=600 width=800 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/de50a0/vnqvv/450_1000.webp 450w, https://i.blogs.es/de50a0/vnqvv/650_1200.webp 681w,https://i.blogs.es/de50a0/vnqvv/1024_2000.webp 1024w, https://i.blogs.es/de50a0/vnqvv/1366_2000.webp 1366w" src="https://i.blogs.es/de50a0/vnqvv/450_1000.webp" alt="Hexadecimal" onerror="this.src='https://i.blogs.es/de50a0/vnqvv/450_1000.jpeg';this.srcset='https://i.blogs.es/de50a0/vnqvv/450_1000.jpeg 450w, https://i.blogs.es/de50a0/vnqvv/650_1200.jpeg 681w,https://i.blogs.es/de50a0/vnqvv/1024_2000.jpeg 1024w, https://i.blogs.es/de50a0/vnqvv/1366_2000.jpeg 1366w';return false;">
   <img alt="Hexadecimal" class="centro_sinmarco" src="https://i.blogs.es/de50a0/vnqvv/450_1000.webp">
   
        <span>Aquí un editor hexadecimal mostrando el texto de uno de los mensajes de error de un archivo binario ('explorer.exe', para más señas)</span>
   </div>
   </div>
</div>
<p>Y así, en lugar del mensaje técnico, <strong>el juego ahora mostraba una frase que disimulaba perfectamente el fallo</strong>:</p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
                   <img class="centro_sinmarco" height=146 width=473 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/450_1000.webp 450w, https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/650_1200.webp 681w,https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/1024_2000.webp 1024w, https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/1366_2000.webp 1366w" src="https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/450_1000.webp" alt="Fm09 Fhuuaq6rg2" onerror="this.src='https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/450_1000.png';this.srcset='https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/450_1000.png 450w, https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/650_1200.png 681w,https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/1024_2000.png 1024w, https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/1366_2000.png 1366w';return false;">
   <img alt="Fm09 Fhuuaq6rg2" class="centro_sinmarco" src="https://i.blogs.es/8dbe5d/fm09-fhuuaq6rg2/450_1000.webp">
   
      </div>
</div>
<blockquote>"Gracias por jugar al Wing Commander".</blockquote>
<h2>La importancia del ingenio</h2>
<p>De este modo, lo que parecía una despedida amigable para el jugador era, en realidad, una señal notablemente maquillada de que el juego había colapsado al cerrar. Este fallo <strong>ha permanecido intacto desde hace más de 35 años</strong>, convirtiéndose a estas alturas en una anécdota legendaria del desarrollo de videojuegos.</p>
<!-- BREAK 5 --><p>Y en un ejemplo paradigmático del 'refrán' irónico <em><strong>"It’s not a bug, it’s a feature" ("No es un error, es una funcionalidad")</strong></em>.</p>
<p>Desde una perspectiva de ingeniería, esto es un ejemplo de una "solución de contención": una práctica en la que <strong>no se elimina el problema de raíz, sino que se oculta o mitiga su efecto</strong> para mantener la estabilidad general del sistema. Aunque hoy en día esto puede parecer una chapuza, en el contexto de la época (y dadas las herramientas y limitaciones disponibles), fue una solución audaz e ingeniosa.</p>
<!-- BREAK 6 --><p>Este tipo de "soluciones creativas" son más comunes de lo que se piensa, especialmente en los primeros años del desarrollo de software comercial, cuando los recursos eran limitados y las fechas de entrega, inamovibles.</p>
<h2>Un legado que perdura</h2>
<p>El espíritu de <em>Wing Commander</em> no terminó con su última línea de código. Su creador, Chris Roberts, siguió innovando en el género espacial y, años más tarde, presentó uno de los proyectos más ambiciosos en la historia del videojuego: <a class="text-outboundlink" href="https://www.vidaextra.com/simuladores/ciencia-ficcion-ha-creado-autenticas-monstruosidades-para-surcar-espacio-algunas-ellas-estan-disponibles-star-citizen" data-vars-post-title="La ciencia ficción ha creado auténticas monstruosidades para surcar el espacio y algunas de ellas están disponibles en Star Citizen " data-vars-post-url="https://www.vidaextra.com/simuladores/ciencia-ficcion-ha-creado-autenticas-monstruosidades-para-surcar-espacio-algunas-ellas-estan-disponibles-star-citizen"><em>Star Citizen</em></a>.</p>
<!-- BREAK 7 --><p>Este título se presenta como el heredero espiritual de <em>Wing Commander</em>, y ya ha recaudado más de 800 millones de dólares a través del crowdfunding, una cifra récord... teniendo en cuenta que <a class="text-outboundlink" href="https://www.xataka.com/videojuegos/este-videojuego-lleva-12-anos-desarrollo-750-millones-dolares-recaudados-crowdfunding-sigue-salir-al-mercado" data-vars-post-title="Este videojuego lleva 12 años en desarrollo y 750 millones de dólares recaudados con crowdfunding. Sigue sin salir al mercado" data-vars-post-url="https://www.xataka.com/videojuegos/este-videojuego-lleva-12-anos-desarrollo-750-millones-dolares-recaudados-crowdfunding-sigue-salir-al-mercado">lleva 13 años recaudando y aún no ha salido al mercado</a>.</p>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/windows/que-te-dejen-expulsar-gpu-como-fuera-usb-bug-muy-conocido-windows-que-se-debe-tener-cuidado" data-vars-post-title="Que te dejen expulsar la GPU como si fuera un USB: un bug muy conocido en Windows y con el que se debe tener cuidado " data-vars-post-url="https://www.genbeta.com/windows/que-te-dejen-expulsar-gpu-como-fuera-usb-bug-muy-conocido-windows-que-se-debe-tener-cuidado">Que te dejen expulsar la GPU como si fuera un USB: un bug muy conocido en Windows y con el que se debe tener cuidado</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Windows 7 tardaba medio minuto más en arrancar si no usabas una imagen como fondo de pantalla. Un ingeniero de Microsoft explica por qué ]]></title>
                <link>https://www.genbeta.com/windows/windows-7-tardaba-medio-minuto-arrancar-no-usabas-imagen-como-fondo-pantalla-ingeniero-microsoft-explica-que</link>
                <guid>https://www.genbeta.com/windows/windows-7-tardaba-medio-minuto-arrancar-no-usabas-imagen-como-fondo-pantalla-ingeniero-microsoft-explica-que</guid>
                <pubDate>Tue, 29 Apr 2025 18:18:36 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/fd2fa5/chatgpt-image-29-abr-2025-20_03_46/1024_2000.png" alt="Windows&#x20;7&#x20;tardaba&#x20;medio&#x20;minuto&#x20;m&#x00E1;s&#x20;en&#x20;arrancar&#x20;si&#x20;no&#x20;usabas&#x20;una&#x20;imagen&#x20;como&#x20;fondo&#x20;de&#x20;pantalla.&#x20;Un&#x20;ingeniero&#x20;de&#x20;Microsoft&#x20;explica&#x20;por&#x20;qu&#x00E9;&#x20;">
    </p>
    <p>En 2009, inmediatamente después del lanzamiento de Windows 7, algunos usuarios comenzaron a notar <a rel="noopener, noreferrer" href="https://support.microsoft.com/en-us/topic/the-welcome-screen-may-be-displayed-for-30-seconds-during-the-logon-process-after-you-set-a-solid-color-as-the-desktop-background-in-windows-7-or-in-windows-server-2008-r2-b4565ced-703a-cc85-bf9c-6b3d586d6421">un comportamiento peculiar</a> durante el proceso de inicio de sesión...</p>
<!-- BREAK 1 --><p>...si habían configurado un color sólido como fondo de escritorio en lugar de una imagen, el sistema mostraba la pantalla de bienvenida durante <strong>medio minuto extra antes de proceder cargar el escritorio</strong>, incluso en equipos potentes que no deberían haber tenido ningún problema de rendimiento.</p>
<p>Un comportamiento, sin duda, inusual y que cabreó bastante a los usuarios hasta que finalmente fue solventado por Microsoft. Pero... <strong>¿qué lo causaba?</strong></p>
<p>Raymond Chen, ingeniero de las antiguas versiones de Windows,<a rel="noopener, noreferrer" href="https://devblogs.microsoft.com/oldnewthing/20250428-00/?p=111121"> lo explica en su blog</a>... no sin antes dejar claro que él, "personalmente" usa <strong>"un fondo de color sólido", el histórico verde azulado</strong> que "fue el valor predeterminado en Windows 95".</p>
<p>En su artículo, Chen detalla que el medio minuto de tardanza se manifestaba únicamente bajo ciertas condiciones:</p>
<ul>
  <li>El equipo utilizaba Windows 7 o Windows Server 2008 R2.</li>
  <li>Se había configurado un <strong>color sólido</strong> como fondo de escritorio.</li>
  <li>El servicio <strong>Desktop Window Manager Session Manager</strong> estaba activado.</li>
  <li>El usuario iniciaba sesión localmente (no por Escritorio Remoto).</li>
</ul>
<h2>¿Qué causaba realmente el problema?</h2>
<p>Cuando un usuario inicia sesión, Windows no solo verifica sus credenciales, sino que también debe preparar todo el entorno gráfico: barra de tareas, iconos, servicios, fondo de escritorio, entre otros. Una vez que todos estos componentes informan que están listos, Windows procede a abandonar la pantalla de bienvenida y mostrar el escritorio.</p>
<!-- BREAK 2 --><p>El problema surgía cuando <strong>uno (o dos) de estos componentes no envíaba su "señal de preparado"</strong>. En ese caso, el sistema esperaba un máximo de 30 segundos antes de continuar de todos modos.</p>
<h3>El bug en el fondo de pantalla</h3>
<p>En versiones iniciales de Windows 7, el código responsable de establecer el fondo de escritorio estaba diseñado así:</p>
<p><code>InitializeWallpaper() {<br>
 &nbsp;&nbsp;&nbsp;if (wallpaper bitmap defined) {<br>
 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LoadWallpaperBitmap();<br>
 &nbsp;&nbsp;&nbsp;}<br>
}<br>
</code></p>
<p>Y luego:</p>
<p><code>LoadWallpaperBitmap() {<br>
 &nbsp;&nbsp;&nbsp;locate the bitmap on disk;<br>
 &nbsp;&nbsp;&nbsp;load it into memory;<br>
 &nbsp;&nbsp;&nbsp;paint it on screen;<br>
 &nbsp;&nbsp;&nbsp;Report(WallpaperReady);<br>
}<br>
</code></p>
<p>El problema: tal y como estaba escrito (vinculando la señal de '<em>WallpaperReady</em>' con el proceso '<em>LoadWallpaperBitmap</em>'), si <strong>no había un archivo de imagen </strong>(bitmap)<strong> definido</strong> (como es el caso cuando se usa un color sólido), el paso '<em>Report(WallpaperReady)</em>' <strong>nunca se ejecutaba</strong>. Como resultado, el sistema seguía esperando una señal que jamás llegaría.</p>
<!-- BREAK 3 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/windows/pinball-era-uno-juegos-miticos-windows-que-microsoft-elimino-tenian-sus-razones" class="pivot-outboundlink" data-vars-post-title="Tras Windows XP, el mítico juego 'Pinball' desapareció sin dejar rastro. Y no fue por voluntad de Microsoft">
     <img alt="Tras&#x20;Windows&#x20;XP,&#x20;el&#x20;m&#x00ED;tico&#x20;juego&#x20;&#x27;Pinball&#x27;&#x20;desapareci&#x00F3;&#x20;sin&#x20;dejar&#x20;rastro.&#x20;Y&#x20;no&#x20;fue&#x20;por&#x20;voluntad&#x20;de&#x20;Microsoft" width="375" height="142" src="https://i.blogs.es/a29a88/pinball/375_142.webp" onerror='this.src="https://i.blogs.es/a29a88/pinball/375_142.png"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/windows/pinball-era-uno-juegos-miticos-windows-que-microsoft-elimino-tenian-sus-razones" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Tras Windows XP, el mítico juego 'Pinball' desapareció sin dejar rastro. Y no fue por voluntad de Microsoft">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/windows/pinball-era-uno-juegos-miticos-windows-que-microsoft-elimino-tenian-sus-razones" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Tras Windows XP, el mítico juego 'Pinball' desapareció sin dejar rastro. Y no fue por voluntad de Microsoft">Tras Windows XP, el mítico juego &#039;Pinball&#039; desapareció sin dejar rastro. Y no fue por voluntad de Microsoft</a>
   </div>
  </div>
 </div>
</div>
<h3>La trampa de los iconos ocultos</h3>
<p>Un segundo problema muy similar se daba cuando se habilitaban políticas como "Ocultar todos los iconos del escritorio". Como en el caso anterior, el arranque de Windows tenía un mecanismo que esperaba una señal de 'estoy listo, ya puedes seguir cargando' <strong>por parte del componente encargado de cargar los iconos</strong>.</p>
<!-- BREAK 4 --><p>Pero al poner la señal '<em>Report(DesktopIconsReady)</em>' dentro de un bloque condicional '<em>if (desktop icons allowed by policy)</em>', dicha señal nunca llegaba a darse y, como resultado, el sistema seguía esperando una confirmación que nunca llegaba... <strong>lo que se traducía en otra espera innecesaria de 30 segundos</strong>.</p>
<h2>¿Cómo se arregló?</h2>
<p>Microsoft abordó el problema mediante una <strong>actualización</strong> publicada en noviembre de 2009. Esta solución corregía el error en el código para que enviara correctamente la señal de preparación incluso cuando se usaba un color sólido como fondo. Hasta ese momento, los usuarios podían aplicar dos soluciones provisionales:</p>
<!-- BREAK 5 --><ol>
  <li><strong>Usar una imagen como fondo</strong>, incluso si consistía en un bitmap de un solo color.</li>
  <li><strong>Modificar el Registro de Windows</strong> para cambiar el valor de 'DelayedDesktopSwitchTimeout', que establecía cuánto tiempo espera Windows antes de forzar el cambio desde la pantalla de bienvenida, permitiendo así reducir el número de segundos de 30 a, por ejemplo, 5.</li>
</ol>
<h2>¿Qué hemos aprendido hoy?</h2>
<p>Al final, lo que parecían ser meros detalles estéticos —usar un fondo de color sólido, u ocultar los iconos del Escritorio— resultaron ser decisiones con un impacto notable en el rendimiento de inicio de Windows 7.</p>
<!-- BREAK 6 --><p>Este incidente resalta una lección fundamental en el desarrollo de software: <strong>el manejo de excepciones y casos atípicos</strong> no debe ser una ocurrencia tardía. En este caso, las presuposiciones de los programadores sobre el uso de configuraciones poco convencionales se tradujo en un error de lógica por parte del sistema operativo.</p>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En 3DJuegosPC | <a class="text-outboundlink" href="https://www.3djuegospc.com/sistema-operativo/esta-historia-windows-1985-w11-como-sistema-operativo-microsoft-ha-evolucionado-anos" data-vars-post-title="Esta es la historia de Windows, desde 1985 hasta W11. Cómo el sistema operativo de Microsoft ha evolucionado con los años" data-vars-post-url="https://www.3djuegospc.com/sistema-operativo/esta-historia-windows-1985-w11-como-sistema-operativo-microsoft-ha-evolucionado-anos">Esta es la historia de Windows, desde 1985 hasta W11. Cómo el sistema operativo de Microsoft ha evolucionado con los años</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Una actualización de Windows 11 ha sacado a la luz algo que llevaba oculto 20 años en 'GTA: San Andreas']]></title>
                <link>https://www.genbeta.com/windows/actualizacion-windows-11-ha-sacado-a-luz-algo-que-llevaba-oculto-20-anos-gta-san-andreas</link>
                <guid>https://www.genbeta.com/windows/actualizacion-windows-11-ha-sacado-a-luz-algo-que-llevaba-oculto-20-anos-gta-san-andreas</guid>
                <pubDate>Thu, 24 Apr 2025 12:01:00 +0000</pubDate>
                                         <dc:creator>Antonio Vallejo</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/ce677a/windows/1024_2000.jpeg" alt="Una&#x20;actualizaci&#x00F3;n&#x20;de&#x20;Windows&#x20;11&#x20;ha&#x20;sacado&#x20;a&#x20;la&#x20;luz&#x20;algo&#x20;que&#x20;llevaba&#x20;oculto&#x20;20&#x20;a&#x00F1;os&#x20;en&#x20;&#x27;GTA&#x3A;&#x20;San&#x20;Andreas&#x27;">
    </p>
    <p>Un curioso fallo de programación que <strong>ha pasado desapercibido durante dos décadas</strong> en uno de los videojuegos más emblemáticos de la historia ha salido a la luz tras la última versión del sistema operativo de Microsoft.</p>
<!-- BREAK 1 --><p><a class="text-outboundlink" href="https://www.genbeta.com/actualidad/instalar-windows-11-24h2-se-ha-convertido-todo-deporte-riesgo-sus-recientes-problemas-cansan-a-usuarios" data-vars-post-title="Instalar Windows 11 24H2 se ha convertido en todo un deporte de riesgo: sus recientes problemas ya cansan a los usuarios " data-vars-post-url="https://www.genbeta.com/actualidad/instalar-windows-11-24h2-se-ha-convertido-todo-deporte-riesgo-sus-recientes-problemas-cansan-a-usuarios">Windows 11 24H2</a>, que lleva con nosotros desde octubre del año pasado, ha provocado un extraño fenómeno en Grand Theft Auto: San Andreas: <strong>la completa desaparición del hidroavión Skimmer del juego</strong>, un vehículo que llevaba siendo parte de su mundo desde su lanzamiento en 2004.</p>
<h2>Un bug que aparece 20 años después en Windows 11 24H2</h2>
<p>Los jugadores que mantienen su afición por este clásico de Rockstar Games comenzaron a informar que el avión anfibio con hélice no aparecía en sus localizaciones habituales en el juego. Más preocupante aún, cualquier intento de generarlo mediante modificaciones <strong>provocaba el cierre inmediato del juego</strong>.</p>
<!-- BREAK 2 --><p>El desarrollador conocido como Silent, creador de SilentPatch (un parche comunitario que corrige fallos en juegos antiguos para mejorar su funcionamiento en sistemas modernos), recibió múltiples quejas sobre este problema. Los usuarios confirmaron que el hidroavión funcionaba perfectamente en versiones anteriores de Windows, pero <strong>desaparecía misteriosamente tras actualizar a la versión 24H2</strong>.</p>
<div class="article-asset-image article-asset-normal article-asset-center">
 <div class="asset-content">
     <div class="caption-img ">
                   <img class="centro_sinmarco" height=1080 width=1920 loading="lazy" decoding="async" sizes="100vw" fetchpriority="high" srcset="https://i.blogs.es/61f309/gta_sa_squlkdkcrs/450_1000.webp 450w, https://i.blogs.es/61f309/gta_sa_squlkdkcrs/650_1200.webp 681w,https://i.blogs.es/61f309/gta_sa_squlkdkcrs/1024_2000.webp 1024w, https://i.blogs.es/61f309/gta_sa_squlkdkcrs/1366_2000.webp 1366w" src="https://i.blogs.es/61f309/gta_sa_squlkdkcrs/450_1000.webp" alt="gta" onerror="this.src='https://i.blogs.es/61f309/gta_sa_squlkdkcrs/450_1000.jpeg';this.srcset='https://i.blogs.es/61f309/gta_sa_squlkdkcrs/450_1000.jpeg 450w, https://i.blogs.es/61f309/gta_sa_squlkdkcrs/650_1200.jpeg 681w,https://i.blogs.es/61f309/gta_sa_squlkdkcrs/1024_2000.jpeg 1024w, https://i.blogs.es/61f309/gta_sa_squlkdkcrs/1366_2000.jpeg 1366w';return false;">
   <img alt="gta" class="centro_sinmarco" src="https://i.blogs.es/61f309/gta_sa_squlkdkcrs/450_1000.webp">
   
        <span>Tal y como ilustra Silent, el Skimmer no aparece en su ubicación. Imagen: Silent</span>
   </div>
   </div>
</div>
<p>Para investigar el fenómeno, Silent creó una máquina virtual con Windows 11 24H2 y comprobó que, efectivamente, el Skimmer se había esfumado mientras todos los demás aviones y barcos seguían apareciendo normalmente. En un intento por forzar su aparición mediante scripts, <strong>el personaje del juego salió disparado</strong> a 'una distancia de 19,3 octillones de kilómetros hacia el cielo'.</p>
<!-- BREAK 3 --><p>Tras <a rel="noopener, noreferrer" href="https://cookieplmonster.github.io/2025/04/23/gta-san-andreas-win11-24h2-bug/">un exhaustivo proceso de depuración</a>, Silent descubrió que el problema estaba en el archivo de configuración "vehicles.ide" del juego. La entrada correspondiente al Skimmer carecía de cuatro parámetros esenciales que deberían controlar aspectos como la escala de las ruedas delanteras y traseras.</p>
<div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/a-fondo/hay-toda-generacion-andaluces-que-crecio-jugando-colegio-a-tux-racer-super-tux-clon-super-mario-para-linux" class="pivot-outboundlink" data-vars-post-title="En mi instituto jugábamos a Tux Racer y Super Tux, el clon de Mario para Linux: así marcó Guadalinex a una generación de andaluces">
     <img alt="En&#x20;mi&#x20;instituto&#x20;jug&#x00E1;bamos&#x20;a&#x20;Tux&#x20;Racer&#x20;y&#x20;Super&#x20;Tux,&#x20;el&#x20;clon&#x20;de&#x20;Mario&#x20;para&#x20;Linux&#x3A;&#x20;as&#x00ED;&#x20;marc&#x00F3;&#x20;Guadalinex&#x20;a&#x20;una&#x20;generaci&#x00F3;n&#x20;de&#x20;andaluces" width="375" height="142" src="https://i.blogs.es/90b7c0/linux/375_142.webp" onerror='this.src="https://i.blogs.es/90b7c0/linux/375_142.jpeg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/a-fondo/hay-toda-generacion-andaluces-que-crecio-jugando-colegio-a-tux-racer-super-tux-clon-super-mario-para-linux" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="En mi instituto jugábamos a Tux Racer y Super Tux, el clon de Mario para Linux: así marcó Guadalinex a una generación de andaluces">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/a-fondo/hay-toda-generacion-andaluces-que-crecio-jugando-colegio-a-tux-racer-super-tux-clon-super-mario-para-linux" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="En mi instituto jugábamos a Tux Racer y Super Tux, el clon de Mario para Linux: así marcó Guadalinex a una generación de andaluces">En mi instituto jugábamos a Tux Racer y Super Tux, el clon de Mario para Linux: así marcó Guadalinex a una generación de andaluces</a>
   </div>
  </div>
 </div>
</div>
<p>Según el desarrollador, este error probablemente se debía a que en GTA Vice City (el juego anterior de la saga), el Skimmer estaba clasificado como barco, categoría que no requería esos parámetros. Sin embargo, en San Andreas el vehículo pasó a considerarse un avión, por lo que necesitaba dichos valores que Rockstar parece que se olvidó incluir.</p>
<!-- BREAK 4 --><div class="article-asset-video article-asset-normal">
 <div class="asset-content">
  <div class="base-asset-video">
   <div class="js-dailymotion">
    <script type="application/json">
                          {"videoId":"x8k9all","autoplay":true,"title":"Si tienes un PC WINDOWS, esto TE INTERESA: Comandos CMD", "tag":"Webedia-prod", "duration":"503"}
                  </script>
   </div>
  </div>
 </div>
</div>
<p>Lo verdaderamente sorprendente es cómo este fallo <strong>ha permanecido invisible durante dos décadas</strong>, y por qué ha sido específicamente la actualización Windows 11 24H2 la que lo ha provocado. Según explica Silent, pequeños cambios internos en el sistema operativo relacionados con la gestión de la memoria temporal fueron suficientes para que desencadenara en este problema.</p>
<!-- BREAK 5 --><p>Se podría considerar entonces que ni Windows 11 ni Microsoft son los responsables del fallo, sino una omisión en la programación original del juego que ha permanecido oculta durante 20 años por pura casualidad. Silent ha confirmado que incluirá una solución en la próxima actualización de SilentPatch, permitiendo a los jugadores volver a surcar los cielos de San Andreas con el mítico hidroavión.</p>
<p>Imagen de portada | Microsoft y Silent</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/windows/hay-solucion-para-seguir-usando-windows-10-durante-7-anos-microsoft-quien-ofrece" data-vars-post-title="Hay una solución para seguir usando Windows 10 durante 7 años más, y es Microsoft quien la ofrece" data-vars-post-url="https://www.genbeta.com/windows/hay-solucion-para-seguir-usando-windows-10-durante-7-anos-microsoft-quien-ofrece"  data-id="noopener noreferrer">Hay una solución para seguir usando Windows 10 durante 7 años más, y es Microsoft quien la ofrece</a></p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/actualidad/este-padre-quiso-iniciar-a-su-hijo-videojuegos-historia-acaba-acto-bondad-que-pocas-veces-vemos-internet" data-vars-post-title="Este padre quiso iniciar a su hijo en los videojuegos. Un completo desconocido acabó regalándole un PC como gesto de bondad" data-vars-post-url="https://www.genbeta.com/actualidad/este-padre-quiso-iniciar-a-su-hijo-videojuegos-historia-acaba-acto-bondad-que-pocas-veces-vemos-internet">Este padre quiso iniciar a su hijo en los videojuegos. Un completo desconocido acabó regalándole un PC como gesto de bondad</a></p>
<p>En 3DJuegosPC | <a class="text-outboundlink" href="https://www.3djuegospc.com/sistema-operativo/esta-historia-windows-1985-w11-como-sistema-operativo-microsoft-ha-evolucionado-anos" data-vars-post-title="Esta es la historia de Windows, desde 1985 hasta W11. Cómo el sistema operativo de Microsoft ha evolucionado con los años" data-vars-post-url="https://www.3djuegospc.com/sistema-operativo/esta-historia-windows-1985-w11-como-sistema-operativo-microsoft-ha-evolucionado-anos">Esta es la historia de Windows, desde 1985 hasta W11. Cómo el sistema operativo de Microsoft ha evolucionado con los años</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Un exingeniero de Google cuenta cómo fue su guerra contra el peor error de Google Docs. Lo arregló tras dos días de infarto ]]></title>
                <link>https://www.genbeta.com/desarrollo/exingeniero-google-cuenta-como-fue-su-guerra-peor-error-google-docs-arreglo-dos-dias-infarto</link>
                <guid>https://www.genbeta.com/desarrollo/exingeniero-google-cuenta-como-fue-su-guerra-peor-error-google-docs-arreglo-dos-dias-infarto</guid>
                <pubDate>Wed, 02 Apr 2025 15:30:19 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/4964bc/chatgpt-image-2-abr-2025-16_12_19/1024_2000.png" alt="Un&#x20;exingeniero&#x20;de&#x20;Google&#x20;cuenta&#x20;c&#x00F3;mo&#x20;fue&#x20;su&#x20;guerra&#x20;contra&#x20;el&#x20;peor&#x20;error&#x20;de&#x20;Google&#x20;Docs.&#x20;Lo&#x20;arregl&#x00F3;&#x20;tras&#x20;dos&#x20;d&#x00ED;as&#x20;de&#x20;infarto&#x20;">
    </p>
    <p>En el 'mundillo' del desarrollo de software, hay 'bugs' que se corrigen con facilidad, otros que exigen ingenio... y luego están aquellos que se convierten en auténticas leyendas internas. Esta es la historia de uno de esos casos, acaecido nada menos que en <a class="text-outboundlink" href="https://www.genbeta.com/a-fondo/no-uso-microsoft-word-uso-google-docs-11-funciones-poco-conocidas-para-sacarle-todo-partido" data-vars-post-title="Ya no escribo en Microsoft Word, uso Google Docs: 11 funciones poco conocidas para sacarle todo el partido" data-vars-post-url="https://www.genbeta.com/a-fondo/no-uso-microsoft-word-uso-google-docs-11-funciones-poco-conocidas-para-sacarle-todo-partido">Google Docs, su alternativa web a MS Office</a>: <strong>un bug tan grave como misterioso</strong>, que provocó dolores de cabeza durante varios días a ingenieros experimentados, y cuya causa, realmente, no se encontraba en Google Docs.</p>
<!-- BREAK 1 --><h2>El misterio fantasma</h2>
<p>Jacob Voytko, exingeniero de Google, lo ha relatado <a rel="noopener, noreferrer" href="https://www.clientserver.dev/p/war-story-the-hardest-bug-i-ever">en su propia newsletter</a>: todo comenzó durante una rutina semanal en el equipo de Google Docs, la revisión y asignación aleatoria de nuevos los errores detectados.</p>
<!-- BREAK 2 --><p>Pero ese día, un problema sobresalía del resto. Se trataba de un error fatal que impedía a los usuarios editar documentos sin recargar la página. No parecía estar vinculado a ninguna actualización reciente de Docs, y lo más inquietante: <strong>era exclusivo de Chrome, pero los usuarios del mismo no se estaban quejando en masa</strong>.</p>
<p>La incertidumbre era total. <strong>¿Estaba realmente ocurriendo el fallo?</strong> ¿O era solo un falso positivo en los registros?</p>
<h2>Un 'bug' sin rostro</h2>
<p>Los primeros intentos de replicar el error en entornos de desarrollo resultaron fallidos: ningún usuario del propio Google lo había experimentado. Se probaron combinaciones de funcionalidades y se copiaron y pegaron contenidos extraños desde sitios web, sin resultados.</p>
<!-- BREAK 3 --><p>Pero finalmente, apareció una pista. Usando una herramienta de scripting interna, originalmente pensada para benchmarking, nuestro ingeniero <strong>automatizó la edición de un documento de 50 páginas</strong> repleto de <a class="text-outboundlink" href="https://www.xataka.com/historia-tecnologica/que-hay-detras-lorem-ipsum-texto-miles-anos-historia-presente-word-adobe-muchisimas-otras-apps" data-vars-post-title="Qué hay detrás de 'Lorem Ipsum', un texto con miles de años de historia presente en Word, Adobe y muchísimas otras apps" data-vars-post-url="https://www.xataka.com/historia-tecnologica/que-hay-detras-lorem-ipsum-texto-miles-anos-historia-presente-word-adobe-muchisimas-otras-apps">texto <em>Lorem ipsum</em></a>. La acción: <strong>aplicar y quitar negritas a todo el documento 100 veces</strong>. Alrededor del ciclo 20, el error finalmente emergió.</p>
<p>Pero no todo eran buenas noticias. <strong>El fallo era no determinista</strong>: a veces aparecía en el ciclo 10, otras en el 40, y en ocasiones no ocurría en absoluto. En resumen, un verdadero <strong>dolor de cabeza</strong> para cualquier depurador.</p>
<!-- BREAK 4 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/seguridad/este-programador-microsoft-ha-salvado-a-linux-a-internet-catastrofe-medio-segundo-fue-clave" class="pivot-outboundlink" data-vars-post-title="Este programador de Microsoft ha salvado a Linux (y a Internet) de una catástrofe. Medio segundo fue la clave ">
     <img alt="Este&#x20;programador&#x20;de&#x20;Microsoft&#x20;ha&#x20;salvado&#x20;a&#x20;Linux&#x20;&#x28;y&#x20;a&#x20;Internet&#x29;&#x20;de&#x20;una&#x20;cat&#x00E1;strofe.&#x20;Medio&#x20;segundo&#x20;fue&#x20;la&#x20;clave&#x20;" width="375" height="142" src="https://i.blogs.es/21193d/andres-vz/375_142.webp" onerror='this.src="https://i.blogs.es/21193d/andres-vz/375_142.jpeg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/seguridad/este-programador-microsoft-ha-salvado-a-linux-a-internet-catastrofe-medio-segundo-fue-clave" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Este programador de Microsoft ha salvado a Linux (y a Internet) de una catástrofe. Medio segundo fue la clave ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/seguridad/este-programador-microsoft-ha-salvado-a-linux-a-internet-catastrofe-medio-segundo-fue-clave" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Este programador de Microsoft ha salvado a Linux (y a Internet) de una catástrofe. Medio segundo fue la clave ">Este programador de Microsoft ha salvado a Linux (y a Internet) de una catástrofe. Medio segundo fue la clave </a>
   </div>
  </div>
 </div>
</div>
<h2><strong>En busca del origen</strong></h2>
<p>Pronto se sospechó que el problema podía estar relacionado con el ajuste dinámico de líneas en el documento. En muchos tipos de letra, el texto en negrita <strong>no solo cambia de grosor visual, sino también de ancho real</strong>, lo que afecta directamente el modo en que las palabras se distribuyen y ajustan dentro de un párrafo. Al aplicar y quitar repetidamente el formato de negrita sobre bloques de texto extensos, se generaban sutiles alteraciones en el flujo del contenido.</p>
<!-- BREAK 5 --><p>Estos cambios, aparentemente inofensivos, tenían <strong>un impacto acumulativo</strong> sobre el diseño de página de Google Docs, y exigía que el motor de visualización realizara cálculos de layout en tiempo real para cada interacción del usuario. Así, el uso prolongado del script automatizado reveló que, tras múltiples ciclos de formateo, <strong>alguna parte del sistema comenzaba a registrar valores incorrectos</strong>.</p>
<p>Cuando el motor de vista intentaba acceder a esos valores mal almacenados, creyendo que eran válidos, y trataba de operar sobre ellos, era cuando todo se desmoronaba. <strong>Era un efecto dominó que terminaba obligando al usuario a recargar el documento</strong>.</p>
<!-- BREAK 6 --><p>Para entonces, era evidente que se trataba del <strong>peor escenario posible</strong> para un error:</p>
<ul>
  <li>Reproducible solo con secuencias largas y lentas.</li>
  <li>No determinista.</li>
  <li>Originado por corrupción de caché acumulada en tiempo.</li>
  <li>Y lo peor: en una parte del código que el ingeniero apenas conocía.</li>
</ul>
<h2>Cuando las matemáticas (de JavaScript) mienten</h2>
<p>Fue necesaria la ayuda de otro compañero con experiencia en la aplicación: <strong>dedicaron dos días</strong> a mover los puntos de ruptura una y otra vez, retrocediendo en el flujo de ejecución como detectives en busca del momento exacto en que todo se descarrilaba.</p>
<!-- BREAK 7 --><p>La revelación clave llegó tras horas de examinar meticulosamente un fragmento de código responsable de actualizar un <strong>acumulador</strong>, una variable crítica que iba sumando pequeñas diferencias para mantener la coherencia visual del documento. A simple vista, la lógica parecía inofensiva: tomar un valor, aplicar la función de JavaScript<em> 'Math.abs()'</em> para asegurarse de que siempre fuera positivo, y luego añadirlo al total acumulado.</p>
<div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/desarrollo/vio-que-podia-ganar-dinero-arreglando-bugs-empezo-a-crearlos-a-proposito-cinco-ejemplos-malos-incentivos-para-programadores" class="pivot-outboundlink" data-vars-post-title="Vio que podía ganar dinero arreglando bugs... y empezó a crearlos a propósito. Cinco ejemplos de malos incentivos para programadores ">
     <img alt="Vio&#x20;que&#x20;pod&#x00ED;a&#x20;ganar&#x20;dinero&#x20;arreglando&#x20;bugs...&#x20;y&#x20;empez&#x00F3;&#x20;a&#x20;crearlos&#x20;a&#x20;prop&#x00F3;sito.&#x20;Cinco&#x20;ejemplos&#x20;de&#x20;malos&#x20;incentivos&#x20;para&#x20;programadores&#x20;" width="375" height="142" src="https://i.blogs.es/493154/incentivos/375_142.webp" onerror='this.src="https://i.blogs.es/493154/incentivos/375_142.jpeg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/desarrollo/vio-que-podia-ganar-dinero-arreglando-bugs-empezo-a-crearlos-a-proposito-cinco-ejemplos-malos-incentivos-para-programadores" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Vio que podía ganar dinero arreglando bugs... y empezó a crearlos a propósito. Cinco ejemplos de malos incentivos para programadores ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/desarrollo/vio-que-podia-ganar-dinero-arreglando-bugs-empezo-a-crearlos-a-proposito-cinco-ejemplos-malos-incentivos-para-programadores" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Vio que podía ganar dinero arreglando bugs... y empezó a crearlos a propósito. Cinco ejemplos de malos incentivos para programadores ">Vio que podía ganar dinero arreglando bugs... y empezó a crearlos a propósito. Cinco ejemplos de malos incentivos para programadores </a>
   </div>
  </div>
 </div>
</div>
<p>Sin embargo, algo no cuadraba. Los resultados finales del acumulador no coincidían con lo esperado, incluso después de revisar varias veces las entradas y salidas. Fue entonces cuando uno de los ingenieros decidió echar un vistazo al valor devuelto por la función matemática justo antes de que fuera utilizado. <strong>Y ahí surgió lo impensable: </strong><em><strong>'Math.abs()'</strong></em><strong> estaba devolviendo números negativos</strong>.</p>
<!-- BREAK 8 --><p>La función que, por definición, debía retornar el valor absoluto —es decir, siempre positivo— <strong>estaba violando una de las garantías básicas del lenguaje</strong>. Y al repetir el experimento varias veces, la anomalía persistía: los números negativos entraban… y salían como negativos.</p>
<p>El equipo, incrédulo, se sumió en una revisión casi paranoica: confirmaron que <em>'Math.abs()'</em> no había sido sobrescrita de algún modo. Y no, todo era "normal", aunque claramente no lo era. Tras muchas comprobaciones, <strong>se confirmó la locura: la función estaba funcionando mal… pero solo en esa versión específica de Chrome</strong>.</p>
<!-- BREAK 9 --><h2>El villano oculto</h2>
<p>Rápidamente, se contactó con los desarrolladores del equipo de V8, el motor de JavaScript de Chrome. La respuesta fue tan reveladora como frustrante: <strong>el problema ya había sido identificado y corregido semanas antes</strong>. La causa se debía a que, durante una refactorización, alguien había omitido definir correctamente el comportamiento de<em> 'Math.abs()'</em> y, en lugar de devolver el valor absoluto, <strong>por accidente, devolvía el mismo número que recibía</strong>.</p>
<!-- BREAK 10 --><p>Un error sutil y difícil de detectar, ya que solo se activaba en circunstancias muy específicas y, además,<strong> ofrecía resultados técnicamente correctos la mitad del tiempo</strong>: cuando el número ya era positivo.</p>
<p>Así que, finalmente, el equipo de Google Docs tuvo que limitarse a aplicar un <strong>parche temporal</strong> que verificaba específicamente la versión problemática de Chrome, y que desapareció del código una vez que el número de usuarios que mantenían instalada esa versión fue lo suficientemente bajo:</p>
<!-- BREAK 11 --><blockquote>"Ahí lo tienes: dos días para encontrar un problema que ya se había solucionado y que se habría resuelto sin interacción".</blockquote>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/seguridad/estas-grandes-recompensas-que-dan-google-otros-resolver-retos-programacion-seguridad-hay-millonarias" data-vars-post-title="Estas son las grandes recompensas que dan Google y otros por resolver retos de programación y seguridad. Las hay hasta millonarias " data-vars-post-url="https://www.genbeta.com/seguridad/estas-grandes-recompensas-que-dan-google-otros-resolver-retos-programacion-seguridad-hay-millonarias">Estas son las grandes recompensas que dan Google y otros por resolver retos de programación y seguridad. Las hay hasta millonarias&nbsp;</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
                                <item>
                <title><![CDATA[Tu Google Chrome pide a gritos una actualización: esta vulnerabilidad infecta tu PC sin que hagas más que un clic ]]></title>
                <link>https://www.genbeta.com/seguridad/tu-google-chrome-pide-a-gritos-actualizacion-esta-vulnerabilidad-infecta-tu-pc-que-hagas-que-clic</link>
                <guid>https://www.genbeta.com/seguridad/tu-google-chrome-pide-a-gritos-actualizacion-esta-vulnerabilidad-infecta-tu-pc-que-hagas-que-clic</guid>
                <pubDate>Thu, 27 Mar 2025 10:38:19 +0000</pubDate>
                                         <dc:creator>Marcos Merino</dc:creator>
                                       <description>
                    <![CDATA[
                              <p>
      <img src="https://i.blogs.es/7e90a7/vulnera/1024_2000.jpeg" alt="Tu&#x20;Google&#x20;Chrome&#x20;pide&#x20;a&#x20;gritos&#x20;una&#x20;actualizaci&#x00F3;n&#x3A;&#x20;esta&#x20;vulnerabilidad&#x20;infecta&#x20;tu&#x20;PC&#x20;sin&#x20;que&#x20;hagas&#x20;m&#x00E1;s&#x20;que&#x20;un&#x20;clic&#x20;">
    </p>
    <p>Google ha lanzado una <strong>actualización de emergencia de su navegador Chrome</strong> con el objetivo de solucionar una vulnerabilidad crítica que, según se había descubierto, los hackers habían identificado antes que ellos y se habían asegurado de empezar a <strong>explotarla antes de que se lanzaran parches</strong>.</p>
<!-- BREAK 1 --><p>Identificado como <em>CVE-2025-2783</em>, este 'bug' permite a los atacantes sortear las protecciones del navegador y ejecutar código malicioso en sistemas Windows.</p>
<p>Según Kaspersky, la empresa de ciberseguridad que dio la voz de alarma, los responsables de haber estado haciendo uso de esta vulnerabilidad serían un grupo APT (de 'amenaza persistente avanzada') patrocinado por un Estado, que estarían ejecutando una operación de ciberespionaje altamente sofisticada, que ha sido bautizada como <strong>Operation ForumTroll</strong>.</p>
<!-- BREAK 2 --><h2>¿Qué es la vulnerabilidad CVE-2025-2783?</h2>
<p><em>CVE-2025-2783</em> es una vulnerabilidad de alta gravedad (con una puntuación CVSS de <strong>8,3 sobre 10</strong>), que afecta al sistema de comunicación entre procesos (IPC) utilizado por Chromium en entornos Windows: se trata de un <strong>error lógico</strong> en la interacción entre Chrome y el sistema operativo Windows, lo que permite <strong>burlar el 'sandboxing' del navegador</strong>, una de las principales barreras de seguridad que permite aislar la ejecución de código malicioso en el sistema del usuario.</p>
<!-- BREAK 3 --><h2>La operación <strong>ForumTroll</strong></h2>
<p>Los investigadores de <strong>Kaspersky</strong> destectaron que el ataque comenzaba con un e-mail de <a class="text-outboundlink" href="https://www.genbeta.com/a-fondo/phishing-que-diferentes-tipos-que-existen" data-vars-post-title="Phishing: qué es y diferentes tipos que existen" data-vars-post-url="https://www.genbeta.com/a-fondo/phishing-que-diferentes-tipos-que-existen">phishing</a> personalizado que contenía enlaces falsos, supuestamente relacionados con el foro académico ruso <em>Primakov Readings</em>.</p>
<!-- BREAK 4 --><div class="article-asset article-asset-normal article-asset-center">
 <div class="desvio-container">
  <div class="desvio">
   <div class="desvio-figure js-desvio-figure">
    <a href="https://www.genbeta.com/seguridad/este-troyano-puede-tomar-control-tu-pc-afecta-especialmente-a-usuarios-google-chrome-microsoft-lanza-alerta" class="pivot-outboundlink" data-vars-post-title="Este troyano puede tomar el control de tu PC y afecta especialmente a usuarios de Google Chrome: Microsoft lanza una alerta ">
     <img alt="Este&#x20;troyano&#x20;puede&#x20;tomar&#x20;el&#x20;control&#x20;de&#x20;tu&#x20;PC&#x20;y&#x20;afecta&#x20;especialmente&#x20;a&#x20;usuarios&#x20;de&#x20;Google&#x20;Chrome&#x3A;&#x20;Microsoft&#x20;lanza&#x20;una&#x20;alerta&#x20;" width="375" height="142" src="https://i.blogs.es/585244/c98948550ed5c2594a720badb572ad3b/375_142.webp" onerror='this.src="https://i.blogs.es/585244/c98948550ed5c2594a720badb572ad3b/375_142.jpeg"'>
    </a>
   </div>
   <div class="desvio-summary">
    <div class="desvio-taxonomy js-desvio-taxonomy">
     <a href="https://www.genbeta.com/seguridad/este-troyano-puede-tomar-control-tu-pc-afecta-especialmente-a-usuarios-google-chrome-microsoft-lanza-alerta" class="desvio-taxonomy-anchor pivot-outboundlink" data-vars-post-title="Este troyano puede tomar el control de tu PC y afecta especialmente a usuarios de Google Chrome: Microsoft lanza una alerta ">En Genbeta</a>
    </div>
    <a href="https://www.genbeta.com/seguridad/este-troyano-puede-tomar-control-tu-pc-afecta-especialmente-a-usuarios-google-chrome-microsoft-lanza-alerta" class="desvio-title js-desvio-title pivot-outboundlink" data-vars-post-title="Este troyano puede tomar el control de tu PC y afecta especialmente a usuarios de Google Chrome: Microsoft lanza una alerta ">Este troyano puede tomar el control de tu PC y afecta especialmente a usuarios de Google Chrome: Microsoft lanza una alerta </a>
   </div>
  </div>
 </div>
</div>
<p>Las víctimas eran incitadas a hacer clic en dichos enlaces, que redirigían a sitios maliciosos controlados por los atacantes.</p>
<p>Una vez abierto el enlace desde <strong>Google Chrome en un sistema Windows</strong>, <a class="text-outboundlink" href="https://www.xatakamovil.com/seguridad/que-exploit-todos-tipos-que-existen-asi-puedes-protegerte-esta-gran-amenaza-para-tu-movil" data-vars-post-title="Qué es un exploit y todos los tipos que existen: así puedes protegerte de esta gran amenaza para tu móvil " data-vars-post-url="https://www.xatakamovil.com/seguridad/que-exploit-todos-tipos-que-existen-asi-puedes-protegerte-esta-gran-amenaza-para-tu-movil">el exploit</a> se activaba automáticamente, sin requerir acciones adicionales por parte del usuario, lo que deja clara su peligrosidad.</p>
<p>El objetivo final era el <strong>espionaje</strong> y la obtención de información confidencial, de forma silenciosa y dirigida.</p>
<h3>Un ataque sofisticado</h3>
<p>Los expertos de Kaspersky han calificado la campaña como <strong>altamente técnica y profesional</strong>, lo cual apunta inequívocamente a un grupo APT con respaldo estatal. Además, la explotación de CVE-2025-2783 no se realizaba de forma aislada: estaba acompañada de un <strong>segundo exploit</strong> no identificado que permitía la <strong>ejecución remota de código</strong>.</p>
<!-- BREAK 5 --><p>Aunque este segundo exploit no pudo ser recuperado para su análisis, el simple hecho de combinar dos vectores de ataque sugiere una <strong>cadena de infección avanzada</strong> diseñada para evadir defensas y mantenerse oculta.</p>
<h2>Respuesta de Google y lanzamiento de parches</h2>
<p>El equipo de seguridad de Google lanzó de forma urgente la versión <strong>134.0.6998.177/.178</strong> de Chrome para Windows, corrigiendo el fallo de seguridad. La actualización está disponible tanto para usuarios con actualizaciones automáticas como para aquellos que deben hacerlo manualmente.</p>
<!-- BREAK 6 --><p>Además, se ha recomendado que otros navegadores basados en Chromium, como <strong>Microsoft Edge, Opera, Brave y Vivaldi</strong>, apliquen parches en cuanto estén disponibles.</p>
<p>Vía | <a rel="noopener, noreferrer" href="https://www.kaspersky.com/blog/forum-troll-apt-with-zero-day-vulnerability/53215/">Kaspersky</a></p>
<p>Imagen | Marcos Merino mediante IA</p>
<p>En Genbeta | <a class="text-outboundlink" href="https://www.genbeta.com/desarrollo/que-fue-programadores-que-hace-dos-anos-trabajaron-gratis-para-evitar-perdidas-millonarias-a-grandes-tecnologicas" data-vars-post-title="Qué fue de los programadores que hace dos años trabajaron gratis para evitar pérdidas millonarias a grandes tecnológicas" data-vars-post-url="https://www.genbeta.com/desarrollo/que-fue-programadores-que-hace-dos-anos-trabajaron-gratis-para-evitar-perdidas-millonarias-a-grandes-tecnologicas">Qué fue de los programadores que hace dos años trabajaron gratis para evitar pérdidas millonarias a grandes tecnológicas&nbsp;</a></p>
<script>
 (function() {
  window._JS_MODULES = window._JS_MODULES || {};
  var headElement = document.getElementsByTagName('head')[0];
  if (_JS_MODULES.instagram) {
   var instagramScript = document.createElement('script');
   instagramScript.src = 'https://platform.instagram.com/en_US/embeds.js';
   instagramScript.async = true;
   instagramScript.defer = true;
   headElement.appendChild(instagramScript);
  }
 })();
</script>

                    ]]>
                </description>
            </item>
            </channel>
</rss>
