💻 Código, IA y Café

Documento mi viaje en desarrollo de software, inteligencia artificial y soluciones tecnológicas que transforman ideas en realidad.

jueves, 25 de diciembre de 2025

🚀 Google logra ventaja cuántica verificable con Quantum Echoes: Un hito histórico

Hace apenas dos meses, en octubre de 2025, Google Quantum AI publicó en Nature un logro sin precedentes: la primera ventaja cuántica verificable en hardware utilizando el algoritmo Quantum Echoes, que corre 13,000 veces más rápido en su chip Willow que en las supercomputadoras clásicas más potentes del mundo.

🧬 ¿Qué hace especial a Quantum Echoes?

El algoritmo Quantum Echoes funciona como un eco altamente avanzado: envía una señal cuidadosamente diseñada al sistema cuántico, perturba un qubit, y luego invierte con precisión la evolución de la señal para "escuchar" el eco que regresa, amplificado por interferencia constructiva.

📊 Dato clave: Esta técnica mide lo que los físicos llaman OTOC (Out-of-Time-Order Correlator), un observable cuántico que describe cómo la dinámica cuántica se vuelve caótica.

El algoritmo se basa en un ingenioso "truco de inversión temporal": la computadora cuántica ejecuta el sistema hacia adelante, le da un pequeño empujón, y luego invierte precisamente el proceso, creando un fuerte eco cuántico que extrae información útil del caos del sistema.

💊 Aplicaciones reales: De moléculas a medicamentos

Lo más emocionante no es solo la velocidad, sino las aplicaciones prácticas. En un experimento de prueba de concepto en asociación con la Universidad de California, Berkeley, ejecutaron el algoritmo Quantum Echoes en el chip Willow para estudiar dos moléculas, una con 15 átomos y otra con 28 átomos.

La computación cuántica mejorada con NMR podría convertirse en una herramienta poderosa en el descubrimiento de fármacos, ayudando a determinar cómo los medicamentos potenciales se unen a sus objetivos, o en ciencia de materiales para caracterizar la estructura molecular de nuevos materiales como polímeros, componentes de baterías o incluso los materiales que componen los qubits.

🔬 ¿Por qué esto es un hito histórico?

Esta es la primera vez en la historia que cualquier computadora cuántica ha ejecutado exitosamente un algoritmo verificable que supera la capacidad de las supercomputadoras. La clave está en dos aspectos:

  1. Verificabilidad: La verificabilidad cuántica significa que el resultado puede repetirse en la computadora cuántica o en cualquier otra del mismo calibre para obtener la misma respuesta, confirmando el resultado.
  2. Ventaja práctica: El conjunto completo de cálculos demandaría aproximadamente 150 años del tiempo de Frontier (una de las supercomputadoras más potentes del mundo), mientras que tomó solo días de tiempo de cómputo en Willow.

🌌 Más allá de las moléculas: Agujeros negros y física fundamental

Las aplicaciones de química cuántica mecánicamente precisa no son los únicos aspectos intrigantes del último resultado. Los físicos tienen curiosidad sobre lo que los protocolos OTOC duplicados o triplicados pueden decir sobre la mezcla de información. Los OTOCs incluso podrían ser una pista para un misterio en el corazón de la física: ¿Qué sucede con la información dentro de un agujero negro?

⚙️ El chip Willow: La tecnología detrás del milagro

El experimento utilizó 65 de los 105 qubits de Willow. Este chip representa años de avances en corrección de errores cuánticos y diseño de hardware. La implementación del algoritmo Quantum Echoes está habilitada por los avances en hardware cuántico del chip Willow, que el año pasado demostró su poder con el benchmark Random Circuit Sampling, una prueba diseñada para medir la máxima complejidad del estado cuántico.

🔮 Implicaciones para desarrolladores e investigadores

Como desarrollador que trabaja en la intersección de IA y tecnologías emergentes, este avance me parece fascinante por varias razones:

  • Verificabilidad como estándar: Finalmente tenemos algoritmos cuánticos cuyos resultados pueden ser validados, un requisito fundamental para aplicaciones del mundo real.
  • Aplicaciones híbridas: La integración con técnicas clásicas como NMR abre la puerta a sistemas híbridos cuántico-clásicos que pueden resolver problemas específicos hoy.
  • Drug Discovery acelerado: En mi trabajo en EPM, he visto cómo la IA transforma sectores. La computación cuántica aplicada a descubrimiento de fármacos podría ser el próximo salto exponencial.

📚 Referencias

  • Paper original en Nature: "Observation of constructive interference at the edge of quantum ergodicity"
  • Preprint en arXiv: "Quantum computation of molecular geometry via many-body nuclear spin echoes"
  • Blog de Google Quantum AI: Quantum Echoes announcement

💭 ¿Qué opinas de este avance? ¿Crees que estamos cerca de aplicaciones cuánticas prácticas en tu industria?

Comparte tus pensamientos en los comentarios o conéctate conmigo en LinkedIn para discutir más sobre el futuro de la computación cuántica.

domingo, 9 de marzo de 2025

🌊 Analogía con el Mar y las Burbujas Cuánticas

 

Así como en el océano las olas generan burbujas de aire que se mueven con la corriente, podríamos imaginar que la expansión del universo genera regiones de vacío cuántico inestable (burbujas espaciales).

Estas burbujas podrían ser regiones donde:
1️⃣ El espacio-tiempo es más flexible, permitiendo deformaciones más fáciles.
2️⃣ La energía del vacío cuántico es mayor, lo que nos daría acceso a una fuente de energía natural.
3️⃣ La expansión es más acelerada, lo que permitiría "subirse" a esa corriente de expansión.


🚀 Propuesta de Nave con Aprovechamiento de Burbujas Cuánticas

1️⃣ Detección de burbujas cuánticas

  • La nave lleva sensores avanzados que buscan anomalías en la expansión del espacio-tiempo.
  • Una vez localizada una burbuja, se mueve hacia ella utilizando propulsión convencional.

2️⃣ Enganche y expansión controlada

  • Al entrar en la burbuja, la nave ajusta su campo de anclaje cuántico para acoplarse a la expansión natural de la burbuja.
  • Como la burbuja se está expandiendo más rápido que el resto del espacio, la nave se mueve con ella sin gastar energía propia.

3️⃣ Navegación dentro de la burbuja

  • Dentro de la burbuja, la nave puede manipular su entorno cuántico para dirigir su trayectoria.
  • Esto puede hacerse generando un gradiente de densidad energética, que actúe como una "vela cuántica" para moverse en la dirección deseada.

4️⃣ Liberación y salto a otra burbuja

  • Cuando la burbuja pierde estabilidad o cambia de dirección, la nave puede saltar a otra burbuja cercana, repitiendo el proceso.
  • Esto permitiría realizar un viaje interestelar en "saltos", aprovechando la estructura del propio universo.

🔥 Beneficios de este método

✅ No necesita combustible: Solo usa la expansión natural del universo.
✅ Aprovecha la estructura cuántica del espacio-tiempo.
✅ Permite saltos a grandes distancias sin sufrir dilatación temporal extrema.
✅ Podría ser más seguro que un motor de curvatura, ya que no genera distorsiones peligrosas.


🔬 ¿Qué problemas habría que resolver?

🛑 Descubrir si realmente existen estas burbujas cuánticas.
🛑 Aprender a detectarlas y predecir su movimiento.
🛑 Encontrar una forma de "anclarse" a ellas sin destruirlas.
🛑 Controlar la dirección y velocidad dentro de cada burbuja.


🚀 En resumen

se propone una forma natural y elegante de viajar por el universo, usando burbujas de expansión cuántica como "autopistas espaciales". Si logramos entender cómo funciona la energía oscura y el vacío cuántico, podríamos desarrollar esta tecnología en el futuro

lunes, 19 de diciembre de 2022

configurar oracledb a SQLAlchemy

 

python -m pip install oracledb

Then add this to your top level SQLAlchemy 1.4 file:

import sys
import oracledb
oracledb.version = "8.3.0"
sys.modules["cx_Oracle"] = oracledb

martes, 13 de diciembre de 2022

Jupyter notebook

 Instalas un Notebook con certificados SSL

Crear un contenedor con un Dockerfile

 

docker build -t ubuntu-test:latest . does work.

docker build -t ubuntu-test:latest ./Dockerfile does not work.

crear una imagen de un contenedor

 

Paso 1: Listamos nuestros contenedores

1
sudo docker ps

Los contenedores podrían estar o no en ejecución.
Luego de haber hecho todos los cambios a nuestro contenedor, vamos a crear una imagen.

Paso2: Creado imagen.

1
sudo docker commit ff357b1f0c66 ubuntuchange

commit: Comando para crear imagen de docker
ff357b1f0c66: En el ID del contenedor de la cual vamos a crear una imagen
ubuntuchange:  Nombre que le damos a la imagen de docker

Paso3: Listamos las imagenes de docker.

Como podemos ver ya tenemos nuestra imagen creada con ID: 074db4b9721f

jueves, 8 de diciembre de 2022

install Docker/Docker Compose/Portainer/Ubuntu Virtual Desktop

ARM es una arquitectura RISC. RISC significa Cómputo de conjunto de instrucciones reducido. Esto significa que la CPU tiene un número limitado de instrucciones que puede usar. Como resultado, cada instrucción se ejecuta en un solo ciclo y las instrucciones son más simples. Mientras tanto, x86 es una arquitectura CISC, que significa Computación de conjunto de instrucciones complejas. ARM está diseñado para ser más pequeño, más eficiente energéticamente y genera menos calor. Un problema es que los programas x86 no pueden ejecutarse en ARM. La mayoría de los lenguajes de programación pueden apuntar a ARM muy bien. Cualquier programa mantenido actualmente debería tener pocos problemas. Sin embargo, todo lo que se escriba en Ensamblaje deberá reescribirse para que funcione en ARM. También hay un problema de velocidad. Dado que ARM tiene menos instrucciones, los desarrolladores deben usar más instrucciones.


Para la versión CentOS 8 y Ubuntu 20.04 de la arquitectura x86_64, puede encontrar esta publicación sobre cómo instalar Docker/Docker-Compose:




Choose Oracle Image. Default username is opc

You also can use Ubuntu 20.04 (not minimum) version to use Arm based shape. The installation for docker and docker compose will be a little different, which you can find out from this post (Install Docker, Docker-Compose, Portainer & Nginx on CentOS 8 & Ubuntu 20.04)

System Update

Check System Public IP:


[root@arm1 ~]# curl https://ip.51sec.org/api
132.145.100.226
Update Oracle Linux 8 system to latest:

 [root@arm1 ~]# yum upgrade -y && yum update -y
Update Ubuntu system to latest:

 [root@arm1 ~]# apt update -y && apt upgrade -y



Install NodeQuery Monitor Sensor

Nodequery stopped the service since Sep 2021. Check other services in my post:

Free Cloud Server Monitoring Services: Netdata, New Relic, Datadog, Instrumental

You will get a one line sensor installation code from NodeQuery add a new server page. 

root@opc3arm2ubuntu:~# wget -N --no-check-certificate https://raw.github.com/nodequery/nq-agent/master/nq-install.sh && bash nq-install.sh gRa6yhaYPTkpogsqZRMFy0CMgfmj05
--2021-08-02 13:43:44--  https://raw.github.com/nodequery/nq-agent/master/nq-install.sh
Resolving raw.github.com (raw.github.com)... 185.199.108.133, 185.199.109.133, 185.199.110.133, ...
Connecting to raw.github.com (raw.github.com)|185.199.108.133|:443... connected.
HTTP request sent, awaiting response... 301 Moved Permanently
Location: https://raw.githubusercontent.com/nodequery/nq-agent/master/nq-install.sh [following]
--2021-08-02 13:43:44--  https://raw.githubusercontent.com/nodequery/nq-agent/master/nq-install.sh
Resolving raw.githubusercontent.com (raw.githubusercontent.com)... 185.199.109.133, 185.199.110.133, 185.199.111.133, ...
Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|185.199.109.133|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4781 (4.7K) [text/plain]
Saving to: ‘nq-install.sh’

nq-install.sh                                            100%[===============================================================================================================================>]   4.67K  --.-KB/s    in 0s

Last-modified header missing -- time-stamps turned off.
2021-08-02 13:43:44 (71.0 MB/s) - ‘nq-install.sh’ saved [4781/4781]

|
|   NodeQuery Installer
|   ===================
|
|   Downloading nq-agent.sh to /etc/nodequery
|
|   + 2021-08-02 13:43:45 URL:https://raw.githubusercontent.com/nodequery/nq-agent/master/nq-agent.sh [8537/8537] -> "/etc/nodequery/nq-agent.sh" [1]
|
|   Success: The NodeQuery agent has been installed




Install Docker


dnf install -y dnf-utils zip unzip
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

dnf remove -y runc
dnf install -y docker-ce --nobest

systemctl enable docker.service
systemctl start docker.service

systemctl status docker.service
docker info
docker version
Ubuntu System:

apt install docker.io -y && apt install docker-compose


Install Docker-Compose


yum install -y libffi libffi-devel openssl-devel python3 python3-pip python3-devel
pip3 install docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

Install Portainer

Commands to install Portainer:

[root@arm1 ~]# docker volume create portainer_data
portainer_data
[root@arm1 ~]# docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

If you had Nginx installed and also you have your own domain, you can configure Nginx to do reverse proxy for your Portainer using your own domain. 




Nginx configuration:

root@4ccb3643b7e4:/etc/nginx/conf.d# cat portainer.conf 
server {
    listen       80;
    server_name  opc2armportainer2.51sec.eu.org;

location / {
    proxy_pass       http://portainer:9000;
    proxy_http_version         1.1;
    proxy_read_timeout 300;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-PORT $remote_port;
           }
}
root@4ccb3643b7e4:/etc/nginx/conf.d# 



Run a Ubuntu 20.04 Desktop

Docer hub image repository: https://hub.docker.com/r/fredblgr/ubuntu-novnc. 
docker run -p 6080:80 fredblgr/ubuntu-novnc:20.04

Note: This docker image is good for ARM based host. If you want to use on other architecture platform, you can use other 32b or 64b i386 version's docker, check post: https://blog.51sec.org/2021/01/install-ubuntu-1804-xfce4-desktop-in.html


http://<Public IP>:6080


The docker support basic http password authentication:

docker run -d -p 6080:80 -v $PWD:/workspace:rw -e HTTP_PASSWORD=P@ssword1234 -e RESOLUTION=1680x1050 --name ubuntu-novnc fredblgr/ubuntu-novnc:20.04
  • Authenticate username is default one: root
  • Password is the one you set using environment variable, HTTP_PASSWORD.

Default log in user is root. But you can user variables, user and password to change it. 
-e USER=netsec -e PASSWORD=password1234

--rm parameter will remove docker after it stopped.

From Ubuntu terminal, you can install firefox to have a browser for your internet. 

User name is root, and password is what we set using "docker run" command.



To install Firefox, here is a command after logged in noVNC.

apt update -y && apt install firefox -y
Unfortunately NPM (Nginx Proxy Manager) does not work with noVNC. I have to configure NGINX manually with following Nginx reverse proxy configuration:
root@4ccb3643b7e4:/# cd /etc/nginx/          
root@4ccb3643b7e4:/etc/nginx# cd conf.d/
root@4ccb3643b7e4:/etc/nginx/conf.d# cat novnc.conf 
server {
    listen       80;
    server_name  novnc.51sec.eu.org;

location / {
    proxy_pass       http://14.23.12.11:6080;
    proxy_http_version         1.1;
    proxy_read_timeout 300;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Real-PORT $remote_port;
           }
}
root@4ccb3643b7e4:/etc/nginx/conf.d# 

After this, https://novnc.51sec.eu.org/ works well. 



Notes:

1) At present, the entire Oracle region should have arm. Except for popular areas, such as India and Sydney, arm machines are still very good. In addition, Japan and South Korea are in hell mode.

2) When terminating the server, be sure to pay attention to whether the boot volume is also terminated together!

3) The opened server currently does not have the [Always Free] logo, but there is a boot volume!

4) For a new account (without the trial period), the ARM server will be stopped after the trial period expires, and your arm will be released after about 60 days. You need to re-open the arm to release it, and your machine will be stable after activation.

5) As for dd, it is not recommended, the title is very risky, but there may also be metaphysical factors in it.

6) Bill query, if you are worried about the non-free content you have opened, you can check it if you have incurred a fee!

https://cloud.oracle.com/usage/reports

7) Free resources are 3,000 OCPU hours + 18,000GB memory usage per month. Regardless of charging and trial users, there are so many free resources. Converted to 4+24, it is about 750 hours, and it should be no problem to play for a month.

8) The previous ordinary machine is still limited to 2 permanent free machines, this has not changed.

9) Your permanent free resources are still network traffic of 10TB per month, total disk quota space of 200G , a total of 4 IPV4 addresses (*3 temporary + 1 reserved), and the IPV6 address is the number of /16. That is to say, you can open 6 machines, and finally two use pure IPV6.

10) Regarding the size of the boot volume, because the default is 45G, if you think it is too small, you can modify the size online, but the premise is that your 200G has not been used up by you. How to modify it, click on the block storage boot volume, 




Troubleshooting


Issue 1: Your Firefox profile cannot be loaded. It may be missing or inaccessible


Duplicate Docker and Re-deploy it. 



Other noVNC docker image

Another good docker image : dorowu/ubuntu-desktop-lxde-vnc on blog post;

HTTP Base Authentication

This image provides base access authentication of HTTP via HTTP_PASSWORD

docker run -p 6080:80 -e HTTP_PASSWORD=mypassword -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc

  • If you are using ARM-based linux, the docker image will be "dorowu/ubuntu-desktop-lxde-vnc:focal-arm64". The whole command will be:

docker run -p 6080:80 -e HTTP_PASSWORD=P@ssword1234 -v /dev/shm:/dev/shm dorowu/ubuntu-desktop-lxde-vnc:focal-arm64

Further detail about docker "dorowu/ubuntu-desktop-lxde-vnc" can be found from this URL

  • https://hub.docker.com/r/dorowu/ubuntu-desktop-lxde-vnc

It is also possible to enable sound support in this docker image but I tested it and it does not work well with ARM based machine



sábado, 1 de octubre de 2022

Ejecutar Jupyterhub en docker - Agregar Usuario Inicial

 

Abra una segunda consola y ejecute

docker container ls
para ver los contenedores existentes y sus ids.  Entonces corre
docker exec -it $containerid$ bash
Para mostrar una consola bash.  (Los primeros caracteres de la identificación del contenedor jupyterhub son suficientes para identificarlo)

Para crear un nuevo usuario de Linux:

useradd $username$
passwd $username$

Luego se le pedirá la contraseña.

Además, ejecute el siguiente comando dentro del contenedor:

pip install notebook

De lo contrario, el servidor de desove no funciona, consulte también:
https://stackoverflow.com/questions/56441563/jupyterhub-spawn-error-first-installation

Luego, puede iniciar sesión con las credenciales de inicio de sesión recién creadas.

lunes, 19 de septiembre de 2022

Solucionar Flutter [ERROR:flutter/lib/ui/ui_dart_state.cc(209)] Unhandled Exception: HandshakeException: Handshake error in client (OS Error: E/flutter ( 4857): CERTIFICATE_VERIFY_FAILED: Hostname mismatch(handshake.cc:393))

 


it is work on both platform (android & ios)

class MyHttpOverrides extends HttpOverrides{
  @override
  HttpClient createHttpClient(SecurityContext context){
    return super.createHttpClient(context)
      ..badCertificateCallback = (X509Certificate cert, String host, int port)=> true;
  }
}

void main(){
    HttpOverrides.global = new MyHttpOverrides();
    runApp(new MyApp());
}