you know what
all of these "which is better" polls are silly
use codex or claude code, whatever works best for you
i am grateful we live in a time with such amazing tools, and grateful there is a choice
OVERRATED: running tons of agents in parallel; working on too many things at once; perpetual context-switching; opening lots of low-quality PRs that may never land.
UNDERRATED: using one or two agents at a time; focusing on the task in front of you; thinking deeply; finishing stuff; making your code works in prod.
Peter Steinberger, creator of OpenClaw: The real failure of agentic workflows comes when people remove themselves too early and expect quality without human taste in the loop.
Strong output needs vision + steering + the right questions.
In today's episode of programming horror...
In the Python docs of random.seed() def, we're told
"If a is an int, it is used directly." [1]
But if you seed with 3 or -3, you actually get the exact same rng object, producing the same streams. (TIL). In nanochat I was using the sign as a (what I thought was) clever way to get different rng sequences for train/test splits. Hence gnarly bug because now train=test.
I found the CPython code responsible in cpython/Modules/_randommodule.c [2], where on line 321 we see in a comment:
"This algorithm relies on the number being unsigned. So: if the arg is a PyLong, use its absolute value." followed by
n = PyNumber_Absolute(arg);
which explicitly calls abs() on your seed to make it positive, discarding the sign bit.
But this comment is actually wrong/misleading too. Under the hood, Python calls the Mersenne Twister MT19937 algorithm, which in the general case has 19937 (non-zero) bits state. Python takes your int (or other objects) and "spreads out" that information across these bits. In principle, the sign bit could have been used to augment the state bits. There is nothing about the algorithm that "relies on the number being unsigned". A decision was made to not incorporate the sign bit (which imo was a mistake). One trivial example could have been to map n -> 2*abs(n) + int(n < 0).
Finally this leads us to the contract of Python's random, which is also not fully spelled out in the docs. The contract that is mentioned is that:
same seed => same sequence.
But no guarantee is made that different seeds produce different sequences. So in principle, Python makes no promises that e.g. seed(5) and seed(6) are different rng streams. (Though this quite commonly implicitly assumed in many applications.) Indeed, we see that seed(5) and seed(-5) are identical streams. And you should probably not use them to separate your train/test behaviors in machine learning. One of the more amusing programming horror footguns I've encountered recently. We'll see you in the next episode.
[1] https://t.co/srv1ZBlDsi
[2] https://t.co/qpnKdvfVNS
1990: “Visual Basic lo hace todo con arrastrar y soltar.”
2005: “Rails matará a todos los demás frameworks.”
2008: “Con App Inventor cualquiera podrá crear apps.”
2010: “Con jQuery ya no necesitas entender JavaScript.”
2012: “Con apps móviles ya nadie escribirá backend.”
2018: “Serverless eliminará los servers 😂”
2021: “Copilot reemplazará a los programadores.”
2024: “La IA generativa escribe sistemas completos.”
Proximamente...2026: “Los agentes autónomos se "autodeployan" .”
Cada vez que aparece una nueva herramienta, alguien grita “la programación ha muerto”.
Y cada vez que algo falla… alguien tiene que leer logs, entender dependencias y arreglar el desastre.
La programación no muere.
Solo evoluciona más rápido que los que creen haberla enterrado.
Get a https://t.co/HBSHR5Yzsu invitation code now!
Just:
1. Like this post ❤️
2. Repost 🔁
3. Tag a friend below 🧑🤝🧑
4. Follow me ✅ (so I can DM you the invitation code)
He changed frontend engineering forever. The Satoshi of UI. No one knows his whereabouts or his real name. He didn't ship a component system, he shipped a system to ship component systems.
a apple se le ha atragantado completamente el tema de "crear su IA". Y no importa en absoluto. Me explico:
Apple es una empresa que, ante todo, vende hardware (55% de todos sus beneficios son venta de dispositivos, el resto se reparte entre comisiones de la app store, iCloud, Apple Music, Apple TV, etc...).
Si troceamos un dispositivo suyo (móvil, tablet, ordenador, lo que sea...), nos queda algo así:
Son muy buenos creando hardware (la serie M ha arrasado todo, actualmente no existe chip mas eficiente).
Son muy buenos escribiendo su propio firmware y drivers para su hardware (no existe hardware domestico mas rápido en encoding/decoding de ProRes / h264 / h265 / av1; es absurdo que incluso una RTX 5090 sea mas lenta que un M4 Max que consume lo mismo que una bombilla).
Son muy buenos escribiendo su propio OS y optimizándolo para su hardware y sus drivers (memoria unificada, latencia baja, micro kernel que mantiene todo responsivo incluso bajo mucha presión de la memoria, etc...).
¿Donde no son muy buenos?
En las apps.
¿Safari? Bue... ni tan mal, pero no es el mejor navegador.
¿Maps? Bue... ni tan mal, pero no es la mejor app de mapas.
¿Apple Music? Bue... ni tan mal, pero...
¿Freeform? ¿Llavero? ¿iMovie? ¿Recordatorios? ¿Suite ofimatica?
Ninguna es mala, pero ninguna es la mejor. Apple no quiere aceptar el feedback de sus usuarios, sino que hace un poco lo que quiere y eso da como resultado el conocido resultado de "o lo amas o lo odias, no hay punto medio". Creen que saben lo que el usuario quiere, pero "lo que el usuario quiere" es muy distinto en el contexto de un Sistema Operativo y en el contexto de las apps.
En el contexto del Sistema Operativo lo que el usuario quiere es que el OS no le toque los cojones y que no se cuelgue. Y al usuario le da exactamente lo mismo como se consiga ese resultado (micro kernel, kernel monolítico, drivers en userland, drivers en kernel space... da absolutamente igual).
Pero en el contexto de Apps, lo que quiere el usuario varia enormemente. Hay usuarios que quieren un botón, hay usuarios que quieren configurar hasta la sombra de cada botón.
Y Apple no le puede dar todo a todos porque no puede ofrecer a la vez simplicidad y complejidad. No puede ser a la vez fácil de usar y completamente personalizable. Para entendernos, no puede ser Gnome y KDE a la vez.
¿Y que tiene que ver todo eso con la IA? Pues...
Obviamente no vamos a meter IA en el firmware.
Obviamente no vamos a meter IA en los drivers.
Obviamente no vamos a meter IA en el OS.
Queda la capa de apps. La IA es simplemente otra app. Que es exactamente el punto flojo de Apple.
Han entrado en bloqueo total porque no están acostumbrados a trabajar en la capa de Apps. Y no están acostumbrados a aceptar feedback.
Pero (y aquí va el hot take), nada de eso importa. No importa porque
>>> Apple controla la plataforma <<<
La IA es simplemente otra app. Ayer se llamaba Claude, hoy se llama Gepeto, mañana se llamara Pepito. Lo mismo da. Desinstalas una e instalas otra. Lo que importa es que tanto la que desinstalaste como la que vas a instalar se están ejecutando sobre un cacharro con el logo de la manzana.
A algunos usuarios les molará mas Gepeto (Spotify), a otros les molará mas Claude (Apple Music), a otros xAI (Tidal). Pero todos quieren que la app se ejecute bien, de manera rápida, sin fallos, sin latencia, etc... Y todo eso ocurre sobre el hardware de Apple. No sobre Windows y el hardware de Dell. No sobre Linux con un portátil genérico ensamblado con piezas de 37 fabricantes distintos y con los drivers dando pena.
Quien controle el vertical es quien se lleva la mayor parte del pastel. Y eso es así en nuestro campo y en cualquier otro campo / gremio.