<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Víctor Falcón]]></title><description><![CDATA[An Indie Developer building in public.]]></description><link>https://blog.victorfalcon.es</link><image><url>https://substackcdn.com/image/fetch/$s_!qmId!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9476e9ab-fb86-40bd-a529-daa1a0b7e89d_400x400.jpeg</url><title>Víctor Falcón</title><link>https://blog.victorfalcon.es</link></image><generator>Substack</generator><lastBuildDate>Mon, 19 Oct 2026 22:44:30 GMT</lastBuildDate><atom:link href="https://blog.victorfalcon.es/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Víctor Falcón]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[victorfalcon@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[victorfalcon@substack.com]]></itunes:email><itunes:name><![CDATA[Víctor Falcón 🤟]]></itunes:name></itunes:owner><itunes:author><![CDATA[Víctor Falcón 🤟]]></itunes:author><googleplay:owner><![CDATA[victorfalcon@substack.com]]></googleplay:owner><googleplay:email><![CDATA[victorfalcon@substack.com]]></googleplay:email><googleplay:author><![CDATA[Víctor Falcón 🤟]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Lo que te ata a tu app de finanzas]]></title><description><![CDATA[No es que te guste. Es todo lo que tienes dentro, y ahora te lo puedes traer de una vez.]]></description><link>https://blog.victorfalcon.es/p/lo-que-te-ata-a-tu-app-de-finanzas</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/lo-que-te-ata-a-tu-app-de-finanzas</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Wed, 07 Oct 2026 07:45:36 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!cY2d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>Si usas otra app de finanzas, al final de este email te espera un <strong>75 % de descuento</strong> para pasarte a Whisper Money.</em></p><p><strong>Lo que te ata a tu app de finanzas no es que te guste.</strong></p><p>Es todo lo que tienes dentro.</p><p>Abres la app y algo te molesta. Ha subido de precio, le falta algo que necesitas o ha cambiado de rumbo.</p><p>As&#237; que piensas en irte.</p><p>Pero entonces te acuerdas de lo que hay ah&#237;: a&#241;os de movimientos, tus cuentas, las categor&#237;as que fuiste afinando mes a mes y esos traspasos que marcaste a mano para que no contaran como gasto.</p><p>Irte es tirar todo eso a la basura.</p><p>As&#237; que te quedas, aunque la app ya no te convenza.</p><p><strong>Eso es justo lo que he querido romper en Whisper Money.</strong></p><p>He construido un importador que se trae tu historial entero de una vez.</p><p>Tus cuentas llegan con su banco. Tus categor&#237;as, con sus subcategor&#237;as. Cada movimiento, con sus notas. Y si tu app exporta los saldos diarios, tambi&#233;n entran.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!cY2d!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!cY2d!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!cY2d!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!cY2d!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!cY2d!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!cY2d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:161415,&quot;alt&quot;:&quot;Primer paso del importador de Whisper Money: archivo de Banktrack subido y formato reconocido autom&#225;ticamente&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/219086397?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Primer paso del importador de Whisper Money: archivo de Banktrack subido y formato reconocido autom&#225;ticamente" title="Primer paso del importador de Whisper Money: archivo de Banktrack subido y formato reconocido autom&#225;ticamente" srcset="https://substackcdn.com/image/fetch/$s_!cY2d!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!cY2d!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!cY2d!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!cY2d!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F97b2767c-efd7-4960-84c3-4658a35079d0_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>He empezado por Banktrack, y no por casualidad.</p><p>Banktrack ha cambiado de rumbo. Ahora vende tesorer&#237;a y facturaci&#243;n a pymes, con planes desde 59 &#8364; al mes.</p><p>Si lo usabas para el dinero de casa, ya no eres su p&#250;blico.</p><p>Pero tu historial sigue ah&#237; dentro.</p><p>Por eso Whisper Money lee su exportaci&#243;n tal y como sale. No tienes que abrirla, ni renombrar columnas, ni borrar filas. Reconoce el formato, entiende tus categor&#237;as y manda tus &#171;Traspasos Propios&#187; a donde tienen que ir.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Eh1B!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Eh1B!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Eh1B!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Eh1B!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Eh1B!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Eh1B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:142130,&quot;alt&quot;:&quot;Paso de categor&#237;as: los Traspasos Propios van a Cuenta propia y las categor&#237;as de Banktrack se unen a las tuyas&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/219086397?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Paso de categor&#237;as: los Traspasos Propios van a Cuenta propia y las categor&#237;as de Banktrack se unen a las tuyas" title="Paso de categor&#237;as: los Traspasos Propios van a Cuenta propia y las categor&#237;as de Banktrack se unen a las tuyas" srcset="https://substackcdn.com/image/fetch/$s_!Eh1B!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!Eh1B!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!Eh1B!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!Eh1B!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F571910a7-67ef-4219-b737-48f054b9da4f_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Y yo de una demo bonita no me f&#237;o.</p><p>As&#237; que lo prob&#233; con una exportaci&#243;n real de Banktrack y compar&#233; la base de datos fila a fila con el archivo.</p><p><strong>Cuadraba todo.</strong></p><p>&#191;Usas otra app?</p><p>Tambi&#233;n vale, siempre que te deje exportar a CSV o Excel. Le dices una vez qu&#233; es cada columna y la pr&#243;xima vez se acuerda.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!U603!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!U603!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!U603!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!U603!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!U603!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!U603!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:156025,&quot;alt&quot;:&quot;Revisi&#243;n antes de importar: cuentas nuevas, categor&#237;as nuevas, transacciones y saldos diarios&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/219086397?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Revisi&#243;n antes de importar: cuentas nuevas, categor&#237;as nuevas, transacciones y saldos diarios" title="Revisi&#243;n antes de importar: cuentas nuevas, categor&#237;as nuevas, transacciones y saldos diarios" srcset="https://substackcdn.com/image/fetch/$s_!U603!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!U603!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!U603!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!U603!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F348c9c9f-946a-417a-b338-092f9ab5347e_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Y si te da miedo que algo salga mal, hay dos cosas que te van a tranquilizar.</p><p>Si subes el mismo archivo dos veces, no se duplica nada.</p><p>Y si el resultado no te convence, le das a &#171;Deshacer&#187; y desaparece todo lo que se import&#243;.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!suPj!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!suPj!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!suPj!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!suPj!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!suPj!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!suPj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:97202,&quot;alt&quot;:&quot;Importaci&#243;n terminada: tus datos de Banktrack ya est&#225;n en Whisper Money&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/219086397?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Importaci&#243;n terminada: tus datos de Banktrack ya est&#225;n en Whisper Money" title="Importaci&#243;n terminada: tus datos de Banktrack ya est&#225;n en Whisper Money" srcset="https://substackcdn.com/image/fetch/$s_!suPj!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 424w, https://substackcdn.com/image/fetch/$s_!suPj!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 848w, https://substackcdn.com/image/fetch/$s_!suPj!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 1272w, https://substackcdn.com/image/fetch/$s_!suPj!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b6b4e38-77bc-410d-a45a-1cd3952a6dd2_2560x1440.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Aqu&#237; tienes la gu&#237;a paso a paso: <a href="https://whisper.money/documentation/import-from-another-app?lang=es">c&#243;mo importar desde otra app</a>.</p><div><hr></div><h2>Tu 75 % de descuento para pasarte a Whisper Money</h2><div class="callout-block" data-callout="true"><p>Si usas otra app de finanzas y te quieres pasar a Whisper Money, <strong>responde a este email.</strong></p><p>Te hago un <strong>75 % de descuento</strong> si importas todos tus datos y me ayudas a pulir el importador.</p><p>A cambio, solo te pido que me cuentes qu&#233; no ha funcionado para arreglarlo.</p></div><p><strong>Qu&#233;date en una app porque es la mejor, no porque tus datos est&#233;n dentro.</strong></p>]]></content:encoded></item><item><title><![CDATA[Claude Code already has mods]]></title><description><![CDATA[Custom panels, commands, and status bars. I'll show you how to create your own in a video.]]></description><link>https://blog.victorfalcon.es/p/claude-code-already-has-mods</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/claude-code-already-has-mods</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 06 Oct 2026 05:55:34 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/MUfRSsuCRxg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>You&#8217;ve been tweaking PhpStorm for years and using Claude Code straight out of the box. </strong>Shortcuts, plugins, themes, live templates... Your editor is tailor-made for you, but the agent that writes a good portion of your code remains untouched.</p><p>There wasn&#8217;t much to tweak. Skills taught Claude things, and hooks triggered a script when something happened, but the tool was the same for everyone. <strong>Until mods arrived.</strong></p><p>A mod is a piece of TypeScript that you insert into Claude Code and change how it works: it opens panels, writes to the status bar, adds slash commands, or stops a bash command before Claude executes it. And it reloads on demand, without restarting the session.</p><p>Imagine a panel next to you displaying your PHPUnit tests in green or red while Claude works on your code. It&#8217;s the biggest thing to come out of the skills, so I&#8217;ve recorded a video from start to finish explaining what they are and how to create your own from scratch.</p><p><strong>PhpStorm is already set up to your liking. Now it&#8217;s your agent&#8217;s turn.</strong></p><div id="youtube2-MUfRSsuCRxg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;MUfRSsuCRxg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/MUfRSsuCRxg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>&#8288;</p><p><strong>PHP</strong></p><p><strong>&#128218; <a href="https://medium.com/@ferdoussiam/what-really-happens-when-a-php-object-is-created-7a5382dccf25?utm_source=weeklyphp&amp;utm_medium=email">What Really Happens When a PHP Object Is Created?</a></strong></p><p>From class User to new User() &#8212; understanding PHP objects without the usual OOP jargon.</p><p><strong>&#128218; <a href="https://dev.to/andbjo/php-markdown-and-no-dependencies-1d6e?utm_source=weeklyphp&amp;utm_medium=email">PHP, markdown and no dependencies</a></strong></p><p>The more I thought about the technical side of the project, the less interested I became in using a traditional CMS. Romantic-weekend.com is not meant to be a complicated application.</p><p><strong>&#128218; <a href="https://medium.com/@wathsala.kg/10-php-concepts-every-wordpress-developer-should-understand-in-2026-1172a7f556d7?utm_source=weeklyphp&amp;utm_medium=email">10 PHP Concepts Every WordPress Developer Should Understand in 2026</a></strong></p><p>Modern WordPress development isn&#8217;t just about knowing functions.php. These 10 PHP concepts can help you write safer, cleaner, and more maintainable WordPress plugins and themes.</p><p><strong>&#128218; <a href="https://medium.com/@iqinfinite_technologies/why-php-is-quietly-becoming-the-best-backend-language-again-76e36e7fe778?utm_source=weeklyphp&amp;utm_medium=email">Why PHP is Quietly Becoming the Best Backend Language Again</a></strong></p><p>PHP is making one of the strongest backend comebacks in modern development quietly, efficiently and without hype.</p><p><strong>&#128218; <a href="https://testmail.app/blog/email-testing-in-php-with-testmail/?utm_source=weeklyphp&amp;utm_medium=email">Email testing in PHP</a></strong></p><p>When it comes to email communication, it&#8217;s a critical feature for many web applications. From user sign-ups and password resets to notifications and marketing campaigns, emails play a big role in many web apps.</p><p><strong>&#128218; <a href="https://dev.to/megventure/duplicate-entry-0-for-key-primary-usually-means-your-database-lost-autoincrement-472f?utm_source=weeklyphp&amp;utm_medium=email">&#8220;Duplicate entry &#8216;0&#8217; for key PRIMARY&#8221; usually means your database lost AUTO_INCREMENT</a></strong></p><p>Installing a plugin fails with: Duplicate entry &#8216;0&#8217; for key &#8216;PRIMARY&#8217;. The obvious reading is that the plugin tried to insert a row with id 0. The actual reading is usually the opposite: the plugin inserted a row without naming the id column, relied on AUTO_INCREMENT to supply one, and got 0 because the column no longer has AUTO_INCREMENT on it.</p><p><strong>&#128218; <a href="https://dev.to/alekiie/integrating-web-application-firewalls-waf-with-php-framework-fpm?utm_source=weeklyphp&amp;utm_medium=email">Integrating a Web Application Firewall with PHP: A Guide Using Slim 3 Framework and Shieldon</a></strong></p><p>In this article, we&#8217;ll walk you through how to integrate a Web Application Firewall (WAF) with a PHP-based web application using the Slim 3 framework. By the end, you will understand how to set up a self-hosted WAF to improve your application&#8217;s resilience to attacks and manage common security threats.</p><p><strong>&#128218; <a href="https://dev.to/hammrouni/02-persistent-memory-chat-in-php-history-that-survives-restarts-1h1e?utm_source=weeklyphp&amp;utm_medium=email">02 - Persistent Memory Chat in PHP - History That Survives Restarts</a></strong></p><p>Sessions are the easy answer for chat history, but they vanish when the browser closes or the server restarts. For anything that should remember - a support bot, a notes assistant, a shared conversation - you want history to outlive the process.</p><p><strong>&#128218; <a href="https://blog.jetbrains.com/phpstorm/2026/09/continuing-to-move-php-open-source-forward/?utm_source=weeklyphp&amp;utm_medium=email">Continuing to Move PHP Open Source Forward</a></strong></p><p>A year ago, we introduced the first wave of PhpStorm&#8217;s open-source sponsorships. We truly believe in the power of open source and the importance of it to the PHP community, and so we want to do our bit, too.</p><p><strong>&#128218; <a href="https://www.php.net/?utm_source=weeklyphp&amp;utm_medium=email">PHP 8.6.0 RC2 available for testing</a></strong></p><p>The PHP team is pleased to announce the first release candidate of PHP 8.6.0, RC2. It is not a typo: a mistake was made while packaging RC1, so RC2 was released instead. For a full explanation, please see this blog post. This continues the PHP 8.6 release cycle, whose rough outline is specified in the PHP Wiki.</p><p><strong>&#128218; <a href="https://www.php.net/?utm_source=weeklyphp&amp;utm_medium=email">PHP 8.3.35, PHP 8.5.11, PHP 8.2.34 &amp; PHP 8.4.26 Released</a></strong></p><p>The PHP development team announces the immediate availability of PHP 8.3.35, PHP 8.5.11, PHP 8.2.34 &amp; PHP 8.4.26. This is a security release.</p><p><strong>&#128218; <a href="https://thephp.foundation/blog/2026/09/28/kicking-off-the-community-events-coalition-sig/?utm_source=weeklyphp&amp;utm_medium=email">Kicking Off the Community Events Coalition Special Interest Group</a></strong></p><p>Community events are the lifeblood of the PHP ecosystem. They&#8217;re where people come to learn from each other, meet new people, expand their professional networks, build things together, strengthen friendships, sharpen their public speaking skills, and experience the power of belonging to a community. Most importantly, community events are where we build trust with each other.</p><p><strong>&#128218; <a href="https://www.youtube.com/watch?v=ygEvagzKZy8&amp;utm_source=weeklyphp&amp;utm_medium=email">This Week In PHP Internals | Sept 24, 2026</a></strong></p><p>PHP is getting a new class for a moment in time: precise to the nanosecond, no timezone, leap seconds ignored on purpose &#8212; and it can&#8217;t tell you what time it is. That&#8217;s the Time\Instant and Time\Clock RFC from Tim D&#252;sterhus and Derick Rethans: to get the time, you ask a clock. Plus the regex RFC&#8217;s callback question finally settled, Gina P. Banyard&#8217;s compiled-regex alternative, a closure-as-entry-point idea that lasted a day, why switching PASSWORD_DEFAULT to Argon2 ran into OpenSSL, and str_mask meeting the same question as array_str_contains.</p><p><strong>&#128218; <a href="https://medium.com/@mahedi.sulaco.tec/missing-memory-in-a-php-array-36b6ed7aaa87?utm_source=weeklyphp&amp;utm_medium=email">&#8220;missing&#8221; memory in a PHP array</a></strong></p><p>I was profiling a data pipeline and noticed something that didn&#8217;t make sense: two arrays, same 1 million integer keys (0 to 999,999), same integer values &#8212; but one was using 17MB and the other was using 42MB.</p><p><strong>&#128218; <a href="https://medium.com/@gaurabgogoipa/typephp-is-it-typescript-f5c7593065bb?utm_source=weeklyphp&amp;utm_medium=email">TypePHP! Is it TypeScript?</a></strong></p><p>Is it TypeScript for PHP? The Reality Behind Swoole&#8217;s New Framework. We all know about the PHP language, which is mostly used for website development. It is used in wordpress, drupal, etc. One of the most widely used and old server-side scripting language.</p><p><strong>&#128218; <a href="https://medium.com/@kevin_39424/why-this-php-security-patch-deserves-your-attention-now-212d049046cc?utm_source=weeklyphp&amp;utm_medium=email">Why This PHP Security Patch Deserves Your Attention Now</a></strong></p><p>On August 27, 2026, the PHP development team shipped 8.5.10 and 8.4.25, a PHP security patch that closes two tracked CVEs alongside a cluster of memory safety bugs in bundled libraries.</p><p><strong>Laravel</strong></p><p><strong>&#128218; <a href="https://dev.to/othmane_nemli/laravel-context-the-hidden-information-that-follows-your-code-1mo8?utm_source=weeklyphp&amp;utm_medium=email">Laravel Context: The Hidden Information That Follows Your Code</a></strong></p><p>Laravel Context provides a place to store information that belongs to the current execution of your application.</p><p><strong>&#128218; <a href="https://dev.to/alenoosh_baghoomian_24305/solid-principles-in-php-and-laravel-first-part-srp-or-single-responsibility-nj1?utm_source=weeklyphp&amp;utm_medium=email">SOLID Principles in PHP and Laravel: First Part (SRP or Single Responsibility Principle)</a></strong></p><p>SRP says a class should have one reason to change. That does not mean one method or one line. It means one job. If a database change, a new JSON format, and a new validation rule all force you to edit the same class, that class has too many responsibilities.</p><p><strong>&#128218; <a href="http://laravel-news.com/decide-with-jev-laravel-ai-that-answers-with-a-probability?utm_source=weeklyphp&amp;utm_medium=email">Decide with Jev: Laravel AI That Answers with a Probability</a></strong></p><p>Before I send a tutorial to an editor, I check one thing. Does the draft do what the brief asked for? A brief is the plan for an article. It says what the reader should learn. The draft is what the writer turned in. Sometimes the two don&#8217;t match.</p><p><strong>&#128218; <a href="https://laravel-news.com/laravel-tagged-memoized-cache?utm_source=weeklyphp&amp;utm_medium=email">Memoize Tagged Cache Reads in Laravel</a></strong></p><p>Laravel&#8217;s memoized cache, Cache::memo(), reads a key from your cache store once and serves it from memory for the rest of the request or job. Starting in Laravel 13.33, it also works with cache tags, so you can memoize tagged values with Cache::memo()-&gt;tags().</p><p><strong>&#128218; <a href="https://laravel-news.com/laravel-13-33-0?utm_source=weeklyphp&amp;utm_medium=email">Tagged Memoized Cache and Model Refreshes in Laravel 13.33</a></strong></p><p>The Laravel team released v13.33.0 with tag support for the memoized cache, a Refreshes model attribute that reloads generated columns after a write, and more,</p><p><strong>&#128218; <a href="https://medium.com/@talhaouimouad04/laravel-13-the-most-important-feature-to-care-about-ea35c433101d?utm_source=weeklyphp&amp;utm_medium=email">Laravel 13 the most important Feature to care About</a></strong></p><p>Here are the biggest additions in Laravel 13 that make writing modern laravel php code feel better than ever.</p><p><strong>Symfony</strong></p><p><strong>&#128218; <a href="https://dev.to/mykola_vantukh/handling-concurrent-requests-in-symfony-with-doctrine-and-postgresql-38c8?utm_source=weeklyphp&amp;utm_medium=email">Preventing Race Conditions in Symfony with Doctrine and PostgreSQL</a></strong></p><p>This article uses seat reservations as an example, but the same approach applies to inventory, balances and guarded status transitions.</p><p><strong>&#128218; <a href="https://symfony.com/blog/?utm_source=weeklyphp&amp;utm_medium=email">Symfony 8.1.8, Symfony 7.4.20 &amp; Symfony 6.4.47 Released</a></strong></p><p>Symfony 8.1.8, Symfony 7.4.20 &amp; Symfony 6.4.47 has just been released. Read the Symfony upgrade guide to learn more about upgrading Symfony and use the SymfonyInsight upgrade reports to detect the code you will need to change in your project.</p><p><strong>&#128218; <a href="https://medium.com/@przemyslaw.rafal.jez/you-cant-delete-an-event-so-how-do-you-honor-gdpr-erasure-84445bdaf2ec?utm_source=weeklyphp&amp;utm_medium=email">You Can&#8217;t Delete an Event. So How Do You Honor GDPR Erasure?</a></strong></p><p>How I do a GDPR right-to-erasure request in an append-only, event-sourced Symfony app &#8212; with forgettable payloads, and where the pattern stops working.</p>]]></content:encoded></item><item><title><![CDATA[Google acaba de sacar un modelo que gana en 13 de 19 benchmarks.]]></title><description><![CDATA[Y en el ranking donde la gente vota a ciegas, est&#225; octavo.]]></description><link>https://blog.victorfalcon.es/p/google-acaba-de-sacar-un-modelo-que</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/google-acaba-de-sacar-un-modelo-que</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Thu, 01 Oct 2026 13:09:39 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!_zOv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Por detr&#225;s de Fable 5.1, de Opus 5.5, de GPT-6 Astra y hasta de modelos de la generaci&#243;n anterior.</p><p>Aunque hay una cosa en la que no tiene rival. Esa la dejo para el final.</p><p>&#8288;</p><p>El 30 de septiembre Google present&#243; Gemini 4 Argon, su nuevo modelo frontera.</p><p>El que viene a por Opus 5.5.</p><p>Con el anuncio lleg&#243; la tabla de siempre, esa en la que el modelo nuevo le gana a todo el mundo.</p><p><strong>Seg&#250;n sus propios n&#250;meros, Gemini gana en 13 m&#233;tricas, pierde en 5 y empata en una.</strong></p><p>Y en algunas no gana por poco. Mira Automation Bench:</p><ul><li><p>Gemini 4 Argon: 51,3</p></li><li><p>Opus: 42,5</p></li><li><p>GPT-6 Astra: 41,4</p></li><li><p>Fable 5.1: 31,4</p></li></ul><p>Casi 9 puntos por encima del segundo.</p><p>Una diferencia as&#237; se tendr&#237;a que notar el primer d&#237;a que lo usas.</p><p>Spoiler: no se nota.</p><p>&#8288;</p><p>Google tambi&#233;n cuenta que lleva tiempo us&#225;ndolo por dentro, y saca cuatro casos:</p><ul><li><p>En computaci&#243;n cu&#225;ntica mejor&#243; un resultado un 40 % en cuesti&#243;n de minutos.</p></li><li><p>Sus agentes analizaron la telemetr&#237;a de los centros de datos y liberaron m&#225;s de 300 TB.</p></li><li><p>Migraron a Rust m&#225;s de 800.000 l&#237;neas de C y C++.</p></li><li><p>Reescribi&#243; en Rust 32.000 l&#237;neas de una librer&#237;a de decodificaci&#243;n de v&#237;deo, que ahora va 2,7 veces m&#225;s r&#225;pida.</p></li></ul><p>Suena muy bien.</p><p>Pero son an&#233;cdotas que cuenta la misma empresa que vende el modelo. Nadie sabe qu&#233; habr&#237;a pasado con esos mismos encargos en Fable 5.1.</p><p>&#8288;</p><p>Luego est&#225; el precio, que es lo que m&#225;s me ha llamado la atenci&#243;n.</p><p>De lanzamiento cuesta <strong>2 d&#243;lares por mill&#243;n de tokens de entrada y 10 por mill&#243;n de salida</strong>, con un 95 % de descuento en la cach&#233; de entrada.</p><p>Pero tiene letra peque&#241;a. Cuando acabe ese periodo, sube a 4 y 20.</p><p><strong>Exactamente lo que cuesta Opus 5.5.</strong></p><p>Google ha copiado el precio de Opus porque quiere que lo cambies por Gemini.</p><p>Y un detalle m&#225;s: hoy ni t&#250; ni yo podemos usarlo. Solo lo tienen los partners del Fairwind Program, un grupo cerrado y centrado en ciberseguridad.</p><p>&#8288;</p><p><strong>La tabla del anuncio es marketing.</strong> La de Google y la de cualquiera.</p><p>Ninguna empresa publica la tabla en la que pierde.</p><p>Lo que de verdad sirve son las votaciones a ciegas, como las de AI Arena. Escribes un prompt, te llegan las respuestas y votas la mejor sin saber si la ha escrito Opus, Gemini, Fable o Astra.</p><p>Ah&#237; da igual qui&#233;n haya hecho el modelo.</p><p>Y en la clasificaci&#243;n general de agentes, Gemini 4 Argon est&#225; octavo:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!_zOv!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!_zOv!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 424w, https://substackcdn.com/image/fetch/$s_!_zOv!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 848w, https://substackcdn.com/image/fetch/$s_!_zOv!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 1272w, https://substackcdn.com/image/fetch/$s_!_zOv!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!_zOv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1446465,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/218336626?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!_zOv!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 424w, https://substackcdn.com/image/fetch/$s_!_zOv!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 848w, https://substackcdn.com/image/fetch/$s_!_zOv!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 1272w, https://substackcdn.com/image/fetch/$s_!_zOv!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff9fd617d-6712-418b-9217-98d9d527738e_2130x1198.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Poco m&#225;s de la mitad que Fable 5.1. Y por debajo de Opus 5 y Fable 5, que son de la generaci&#243;n anterior.</p><p>Si bajas a las categor&#237;as, la cosa no mejora.</p><p>Yo programo cada d&#237;a con Opus 5.5, sobre todo desarrollo web. Y estos datos cuadran con lo que noto: ahora mismo no hay nada mejor para programar.</p><p>&#8288;</p><p>Ahora s&#237;, la categor&#237;a en la que Gemini arrasa: el texto.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!FPTZ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!FPTZ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 424w, https://substackcdn.com/image/fetch/$s_!FPTZ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 848w, https://substackcdn.com/image/fetch/$s_!FPTZ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 1272w, https://substackcdn.com/image/fetch/$s_!FPTZ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!FPTZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1424671,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/218336626?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!FPTZ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 424w, https://substackcdn.com/image/fetch/$s_!FPTZ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 848w, https://substackcdn.com/image/fetch/$s_!FPTZ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 1272w, https://substackcdn.com/image/fetch/$s_!FPTZ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F814cffbe-1a15-43ae-a8d4-358e671d67bf_2130x1198.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p><strong>Gemini 4 Argon es el n&#250;mero 1 en generaci&#243;n de texto</strong>, con 1.525 puntos.</p><p>El segundo es Opus 4.6, con 1.505.</p><p>Son 20 puntos de ventaja. Para que te hagas una idea, entre el segundo y el d&#233;cimo hay 11.</p><p>Detr&#225;s se quedan Fable 5, Opus 5.5 y Fable 5.1.</p><p>En chat tambi&#233;n sube bastante. Tiene sentido: si escribe de forma m&#225;s natural, hablar con &#233;l se siente menos artificial.</p><p>Ojo, eso s&#237;. Lleva unos 5.000 votos y la nota todav&#237;a es preliminar. Opus 4.6 o Fable 5 tienen much&#237;simos m&#225;s, as&#237; que puede bajar.</p><p>&#8288;</p><p>Mi veredicto:</p><p><strong>Gemini 4 Argon nace muerto.</strong></p><p>Para programar no hay debate. Cuesta lo mismo que Opus 5.5 y da peores resultados.</p><p>Si se quedara en 2 y 10, la mitad que Opus 5.5, me lo pensar&#237;a. A mitad de precio s&#237; merecer&#237;a la pena compararlos.</p><p>A 4 y 20, no.</p><p>As&#237; que para c&#243;digo, features y pull requests sigo con Opus 5.5.</p><p>Para newsletters y posts de X voy a probar Gemini 4 en cuanto lo abran a todo el mundo.</p><p>Y para chats con muchas b&#250;squedas en Google, como comparar productos antes de comprar, los Gemini siempre me han funcionado muy bien. Eso no cambia.</p><p>&#8288;</p><p>En el v&#237;deo repaso todas las tablas, categor&#237;a por categor&#237;a:</p><div id="youtube2-TDHPl3MlWr0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;TDHPl3MlWr0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/TDHPl3MlWr0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[El editor ha muerto (dicen)]]></title><description><![CDATA[Yo uso Neovim m&#225;s que nunca, y los agentes tienen la culpa.]]></description><link>https://blog.victorfalcon.es/p/el-editor-ha-muerto-dicen</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/el-editor-ha-muerto-dicen</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 29 Sep 2026 16:01:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/83584aa4-4df4-4433-af4e-54929506dd4a_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="pullquote"><p>&#8220;El editor de c&#243;digo ha muerto.&#8221;</p></div><p>Lo leo cada semana. Que con los agentes ya no hace falta abrir un archivo. Que tu IDE ahora es un chat.</p><p><strong>Yo uso Neovim m&#225;s que nunca.</strong></p><p>Te pongo un caso real.</p><p>Estaba en mis dotfiles, dentro de la config de Herdr. Quer&#237;a cambiar un atajo: abrir LazyGit con prefix + G, en vez de prefix + Ctrl + G.</p><p>Una tonter&#237;a de cambio.</p><p>Si se lo pides as&#237;, a pelo, a un agente, se pone a abrir archivos y a leer. Y quema tokens buscando algo que yo ya sab&#237;a d&#243;nde estaba.</p><p>As&#237; que seleccion&#233; las l&#237;neas en Neovim y puls&#233; `Y` may&#250;scula.</p><p>Ese atajo me lo hice yo. Copia la ruta del archivo, las l&#237;neas y el c&#243;digo, listo para pegar.</p><p>Se lo pas&#233; al agente con una frase y fue directo al sitio.</p><p>Fue el cambio m&#225;s r&#225;pido del d&#237;a.</p><p>Porque <strong>el editor hace que el agente trabaje mejor.</strong> T&#250; sabes d&#243;nde est&#225; el c&#243;digo. D&#237;selo.</p><p>Y f&#237;jate en una cosa: ese atajo no lo trae ning&#250;n editor. Me lo invent&#233; yo, porque trabajo as&#237;.</p><p>Eso es lo que casi nadie aprovecha de Neovim. Te haces el editor a tu medida, en vez de pasarte a&#241;os adapt&#225;ndote al que te vino de serie.</p><p>El problema es que antes eso costaba fines de semana enteros aprendiendo Lua y pele&#225;ndote con la config.</p><p>Ahora no.</p><p>En mi &#250;ltimo v&#237;deo parto de un nvim reci&#233;n instalado, vac&#237;o, y acabo con mi IDE completo. Me llev&#243; tres prompts y unos 20 minutos, y no escrib&#237; ni una l&#237;nea de Lua.</p><p>Y a mitad de camino el agente hizo algo que yo, configurando a mano, habr&#237;a descubierto una semana tarde.</p><p><strong>Te lo ense&#241;o todo aqu&#237;:</strong></p><div id="youtube2-6tUKZK7cyrI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;6tUKZK7cyrI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/6tUKZK7cyrI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Cuando lo veas, cu&#233;ntame en los comentarios: <strong>&#191;sigues abriendo el editor o ya vives dentro del chat del agente?</strong></p>]]></content:encoded></item><item><title><![CDATA[Herdr viene mal configurado (y casi nadie lo cambia)]]></title><description><![CDATA[Lo que toqu&#233; para trabajar con varios agentes a la vez sin volverme loco.]]></description><link>https://blog.victorfalcon.es/p/herdr-viene-mal-configurado-y-casi</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/herdr-viene-mal-configurado-y-casi</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Thu, 24 Sep 2026 15:36:04 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/67934ef0-b9ca-41fd-8858-d1dd883e3750_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Ten&#237;a siete agentes trabajando a la vez y no sab&#237;a qu&#233; estaba haciendo ninguno.</p><p>Miraba el sidebar de Herdr y ve&#237;a esto:</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;800fad93-62e3-4cd3-b348-ace6afece68e&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">youtube &#183; claude
youtube &#183; claude
whisper-money &#183; claude</code></pre></div><p>Tres agentes en el mismo proyecto y con la misma etiqueta.</p><p>&#191;Cu&#225;l estaba con el cashflow? &#191;Y cu&#225;l con la subida de precios?</p><p>Ni idea.</p><p>Me tocaba abrirlos uno a uno, leer un poco y volver. Una y otra vez.</p><div class="pullquote"><p>As&#237; no trabajas en paralelo. Te pasas el d&#237;a haciendo de ni&#241;era de agentes.</p></div><p>Herdr es un multiplexor de terminal pensado para trabajar con agentes de IA, y me encanta.</p><p><strong>Pero de f&#225;brica viene mal configurado.</strong></p><p>&#8288;</p><p>Y casi todo el mundo lo usa tal cual.</p><p>Yo le cambi&#233; seis cosas.</p><p>La primera son dos l&#237;neas de configuraci&#243;n. Con eso, ese mismo sidebar pasa a decirme en qu&#233; tarea y en qu&#233; rama est&#225; cada agente, sin abrir ninguno.</p><p>Las otras cinco no te las voy a destripar aqu&#237;, pero te adelanto por d&#243;nde van:</p><p>Me muevo entre proyectos, pesta&#241;as y agentes sin tocar el rat&#243;n.</p><p>Neovim y Herdr comparten atajos, y ya no tengo que pensar en cu&#225;l de los dos estoy.</p><p>Tengo pesta&#241;as que aparecen cuando las necesito y desaparecen solas cuando termino. <strong>Es el ajuste que m&#225;s uso, con diferencia.</strong></p><p>Recib&#237;a 10 o 15 notificaciones seguidas y la mayor&#237;a no serv&#237;an para nada. Ahora solo me llegan las que importan, y **me entero antes que nunca** cuando un agente me necesita.</p><p>Y el trabajo y lo personal viven en dos mundos separados, a un atajo de distancia.</p><p>Ninguno tiene misterio.</p><p>Pero con los seis juntos ya no me paso el d&#237;a abriendo agentes para ver qu&#233; hacen. <strong>Miro el sidebar, veo qui&#233;n me necesita y sigo con lo m&#237;o.</strong></p><p>En el v&#237;deo te los ense&#241;o uno a uno en pantalla, con la configuraci&#243;n exacta para que la copies:</p><div id="youtube2-evfpvmIUPUY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;evfpvmIUPUY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/evfpvmIUPUY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[20 euros para dos prompts]]></title><description><![CDATA[C&#243;mo conseguir que la suscripci&#243;n te dure el mes entero]]></description><link>https://blog.victorfalcon.es/p/20-euros-para-dos-prompts</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/20-euros-para-dos-prompts</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 15 Sep 2026 15:35:44 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/06250d14-6749-4155-83b0-dd062a6bfd6e_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Te suscribes al plan de 20 euros al mes.</p><p>Escribes dos prompts y se acaban los tokens de la sesi&#243;n. A esperar cinco horas.</p><p>Vuelves, tiras otros tres prompts y ah&#237; se va el cupo semanal.</p><p>A mitad de mes ya no te queda nada.</p><p>Una suscripci&#243;n que aguanta dos tardes no es una suscripci&#243;n, es una demo cara.</p><p>Y casi nunca es culpa del l&#237;mite. <strong>Es que est&#225;s quemando tokens en sitios donde no hacen ninguna falta.</strong></p><p>Te cuento el caso m&#225;s com&#250;n, porque lo veo cada semana.</p><p>Gente lanzando el modelo m&#225;s caro del cat&#225;logo para preguntarle una tonter&#237;a al agente. <em>&#8220;&#191;D&#243;nde est&#225; esta funci&#243;n?&#8221;</em> con Fable 5.1. As&#237; te fundes la semana en cuatro prompts.</p><p>Yo tiro de Opus el 80% del tiempo, pero no para todo. Itero con Opus hasta tener un plan cerrado, con los archivos exactos que hay que tocar, y la implementaci&#243;n se la paso a Sonnet. Cuando el plan est&#225; as&#237; de masticado, Sonnet lo hace igual de bien.</p><p>Mis reviews de c&#243;digo y de producto son otro ejemplo. Las lanzaba con Opus por inercia. Cre&#233; un agente con Sonnet fijado en el propio archivo y el resultado no cambi&#243; nada. Cada /ship que lanzo cuesta bastante menos.</p><p>Y luego est&#225; el archivo del que nadie quiere hablar.</p><blockquote><p><strong>Tu CLAUDE.md te cobra tokens en cada conversaci&#243;n y encima hay bastantes papeletas de que te est&#233; empeorando el c&#243;digo.</strong></p></blockquote><p>Lo genera Laravel Boost, lo genera un /init, t&#250; lo vas engordando, y acabas cargando cientos de l&#237;neas en cada sesi&#243;n para contarle al agente cosas que puede ver &#233;l solo abriendo el package.json.</p><p>Mi consejo va a sonar bruto: b&#243;rralo. Entero. Trabaja unos d&#237;as sin &#233;l y mira si se rompe algo de verdad. Si ves un fallo concreto, a&#241;ades ese trozo y solo ese trozo.</p><p>En el v&#237;deo de hoy te ense&#241;o los seis consejos que uso para estirar la suscripci&#243;n sin bajar la calidad del resultado. Los ajustes de modelo, cu&#225;ndo hacer clear y cu&#225;ndo hacer compact (no es lo mismo, y saber cu&#225;l toca te ahorra mucho), por qu&#233; los subagentes salen tan baratos, y dos skills que uso para recortar tokens.</p><p>Una de ellas baja el output un 65% haciendo que el agente te hable como un cavern&#237;cola. La otra va a por el c&#243;digo: en lugar de instalarte una librer&#237;a de JavaScript para un selector de fecha, te pone el campo de HTML que ya hace ese trabajo desde hace a&#241;os.</p><p>Si aplicas dos de los seis, la suscripci&#243;n te llega a fin de mes.</p><p><strong>Te lo ense&#241;o todo aqu&#237;:</strong></p><div id="youtube2-7GU8HFzZ-3A" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7GU8HFzZ-3A&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/7GU8HFzZ-3A?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[Google no me deja publicar mi app]]></title><description><![CDATA[12 testers, 14 d&#237;as, tres pasos.]]></description><link>https://blog.victorfalcon.es/p/google-no-me-deja-publicar-mi-app</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/google-no-me-deja-publicar-mi-app</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Thu, 10 Sep 2026 07:19:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!syhJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>&#9888;&#65039; Este correo no ha salido a toda la lista.</strong></p><p>Lo recibes t&#250; y unos pocos m&#225;s: los que abr&#237;s y le&#233;is casi todo lo que mando. Cuatro estrellas o m&#225;s, seg&#250;n mi propia lista.</p><p>Gracias por eso, de verdad. Y por eso te lo pido a ti primero.</p><p>&#8288;</p><p><strong>Google me pide doce personas.</strong></p><p>Doce cuentas con la app instalada catorce d&#237;as seguidos. Si el d&#237;a nueve nos quedamos en once, el contador vuelve a cero. Ese es el peaje para publicar en Play.</p><p>Tengo una cinta de andar de las que caben bajo el escritorio. Hay d&#237;as que me salen ocho kil&#243;metros mientras trabajo, y esos kil&#243;metros no exist&#237;an en ninguna parte: la cinta los ense&#241;a en su pantallita y los borra al apagarse.</p><p>&#8288;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!syhJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!syhJ!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 424w, https://substackcdn.com/image/fetch/$s_!syhJ!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 848w, https://substackcdn.com/image/fetch/$s_!syhJ!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 1272w, https://substackcdn.com/image/fetch/$s_!syhJ!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!syhJ!,w_2400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png" width="759" height="553.0899725274726" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:false,&quot;imageSize&quot;:&quot;large&quot;,&quot;height&quot;:1061,&quot;width&quot;:1456,&quot;resizeWidth&quot;:759,&quot;bytes&quot;:583698,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/215001568?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:&quot;center&quot;,&quot;offset&quot;:false}" class="sizing-large" alt="" srcset="https://substackcdn.com/image/fetch/$s_!syhJ!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 424w, https://substackcdn.com/image/fetch/$s_!syhJ!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 848w, https://substackcdn.com/image/fetch/$s_!syhJ!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 1272w, https://substackcdn.com/image/fetch/$s_!syhJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c9b1b54-9bd5-4b9b-8951-8984d16415e6_3334x2430.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><h3><strong>Por eso hice Zancada.</strong></h3><p>Conecta por Bluetooth, controlas la cinta desde el m&#243;vil y al terminar la caminata se guarda sola en Health Connect. Tambi&#233;n si paras con el mando.</p><p>Sin cuenta, sin anuncios y sin permiso de internet, as&#237; que tus caminatas no pueden salir del m&#243;vil. Gratis, para cualquiera.</p><p>Tres pasos con la cuenta de Google que usas en Play:</p><ol><li><p>&#218;nete al grupo: <a href="https://groups.google.com/g/zancada-testers">https://groups.google.com/g/zancada-testers</a></p></li><li><p>Ap&#250;ntate a la prueba cerrada: <a href="https://play.google.com/apps/testing/com.victorfalcon.zancada">https://play.google.com/apps/testing/com.victorfalcon.zancada</a></p></li><li><p>Descarga la app: <a href="https://play.google.com/store/apps/details?id=com.victorfalcon.zancada">https://play.google.com/store/apps/details?id=com.victorfalcon.zancada</a></p></li></ol><p>El orden importa: si te saltas el grupo, Play te dir&#225; que la app no existe.</p><p>Y no necesitas cinta. Sin una solo ver&#225;s la pantalla de b&#250;squeda, pero cuentas igual con dejarla instalada.</p><p>Si te atascas, resp&#243;ndeme a este correo o escribe a hi@victorfalcon.es. Contesto yo.</p><p><strong>Doce personas durante catorce d&#237;as y Zancada sale de la sala de espera.</strong></p>]]></content:encoded></item><item><title><![CDATA[El 95% de las PRs entran sin que yo toque el código]]></title><description><![CDATA[Lo que tuve que montar para llegar ah&#237;, con el repo abierto.]]></description><link>https://blog.victorfalcon.es/p/el-95-de-las-prs-entran-sin-que-yo</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/el-95-de-las-prs-entran-sin-que-yo</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 08 Sep 2026 15:32:07 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/df64a407-11dd-4c95-a4ec-1d7f2dfdc901_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Abr&#237; la PR que me hab&#237;a dejado el agente. 400 l&#237;neas.</p><p>Y a mitad del diff me qued&#233; mirando una clase con cara de tonto.</p><p>&#8288;</p><p><strong>Ese c&#243;digo lo hab&#237;a escrito yo. Seis meses antes.</strong>&#8288;</p><p>En otra PR, en otra carpeta, con otro nombre. El agente no la encontr&#243;, as&#237; que la escribi&#243; otra vez.</p><p>Y yo no me habr&#237;a dado cuenta si no llego a leer el diff entero esa tarde.</p><p>Ah&#237; ca&#237; en algo inc&#243;modo.</p><p>Pod&#237;a seguir afinando el prompt otros seis meses, o pod&#237;a aceptar que el agente no puede saber lo que no le he contado, y que revisar cada l&#237;nea a mano no escala.</p><p>As&#237; que dej&#233; de escribirle instrucciones m&#225;s largas y me puse a ponerle ra&#237;les.</p><p><a href="https://whisper.money?utm_source=victorfalcon&amp;utm_medium=email&amp;utm_campaign=20260908">Whisper Money</a> es open source, as&#237; que esto no es teor&#237;a, lo puedes abrir y mirar.</p><p>Instal&#233; Laravel Boost. Ahora el agente tiene las skills de cada paquete en la versi&#243;n exacta que uso, y un MCP que le pasa los logs de mi navegador mientras yo pruebo. Cuando le digo &#8220;este bot&#243;n no va&#8221;, ve el error de JavaScript. No lo adivina.</p><p>Y endurec&#237; el CI hasta que dej&#243; de ser un sem&#225;foro y se convirti&#243; en un portero.</p><p>Detecta c&#243;digo duplicado en back y en front. Mide la complejidad ciclom&#225;tica con un baseline que no se puede empeorar sin darse cuenta. Cronometra la carga del dashboard. Cuenta las queries de cada p&#225;gina, una por una.</p><p>Debajo de todo eso, 2.978 tests. Cada bug que corrijo se lleva el suyo puesto.</p><p>&#8288;</p><p><strong>Pero lo que m&#225;s me ha cambiado el d&#237;a no es nada de eso.</strong></p><p>Es una skill que llam&#233; /ship.</p><p>Escribe el c&#243;digo. Lanza dos reviews en paralelo, una t&#233;cnica y otra de producto. Abre un navegador de verdad, se registra, hace el onboarding, crea la cuenta, prueba la feature como la probar&#237;a un usuario.</p><p>Y graba el v&#237;deo.</p><p>El v&#237;deo acaba subido en la propia PR.</p><p>As&#237; que ahora, cuando me llega el trabajo hecho, lo primero que hago es darle al play. Veo la feature funcionando antes de leer una sola l&#237;nea.</p><p>Si funciona, s&#233; exactamente qu&#233; estoy revisando y para qu&#233;.</p><p>&#8288;</p><p><strong>El 95% de lo que le pido llega listo para mezclar en 20 o 30 minutos.</strong></p><p>Sigo entrando al c&#243;digo, que quede claro. Nada se aprueba a ciegas por aqu&#237;.</p><p>La diferencia es que ahora reviso decisiones en vez de perseguir duplicados.</p><p>Te lo ense&#241;o todo por dentro: el CI paso a paso, la skill, los v&#237;deos de QA en PRs reales.</p><div id="youtube2-2JnyVw0spI0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2JnyVw0spI0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2JnyVw0spI0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[Durante dos años dije que me iba a comprar una Ducati Panigale]]></title><description><![CDATA[El final del email tiene foto.]]></description><link>https://blog.victorfalcon.es/p/durante-dos-anos-dije-que-me-iba</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/durante-dos-anos-dije-que-me-iba</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 01 Sep 2026 13:50:10 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tYS9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Durante dos a&#241;os dije que me iba a comprar una Ducati Panigale.</p><p>Ten&#237;a la cuenta de ahorro. Me sab&#237;a el saldo de memoria.</p><p>&#8288;</p><p><strong>Lo que no sab&#237;a era si la moto llegaba en 2027 o en 2031.</strong></p><p>Y esa es la parte que importa. El saldo te dice d&#243;nde est&#225;s. No te dice si vas a llegar.</p><p>Guarda esto, que al final del email vuelvo.</p><p>Desde hoy los objetivos de ahorro est&#225;n disponibles para todo el mundo en <a href="https://whisper.money/?utm_source=victorfalcon&amp;utm_medium=email&amp;utm_campaign=saving-goals">Whisper Money</a>.</p><p>Un presupuesto le pone un techo a lo que gastas.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tYS9!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tYS9!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 424w, https://substackcdn.com/image/fetch/$s_!tYS9!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 848w, https://substackcdn.com/image/fetch/$s_!tYS9!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 1272w, https://substackcdn.com/image/fetch/$s_!tYS9!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tYS9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png" width="1280" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:225597,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/213707238?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tYS9!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 424w, https://substackcdn.com/image/fetch/$s_!tYS9!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 848w, https://substackcdn.com/image/fetch/$s_!tYS9!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 1272w, https://substackcdn.com/image/fetch/$s_!tYS9!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F162b01fd-8921-45c6-9388-47acc082caf1_1280x800.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>&#8288;</p><p><strong>Un objetivo le pone un suelo a lo que ahorras.</strong></p><p>Se crea en un minuto: le pones nombre, dices a cu&#225;nto quieres llegar y eliges una fecha si la tienes.</p><p>&#191;Ya ten&#237;as algo apartado antes de empezar? Lo metes y cuenta desde el primer d&#237;a. Nadie empieza de cero.</p><p>A partir de ah&#237; sabes si vas adelantado o atrasado, cu&#225;nto te toca meter cada mes para llegar a tiempo, y en qu&#233; d&#237;a terminar&#237;as si sigues al ritmo que llevas ahora.</p><p>Un detalle que me cost&#243; decidir: el dinero que ya ten&#237;as suma al total, pero no cuenta para el ritmo.</p><p>Si contara, el primer d&#237;a tendr&#237;as un ritmo alt&#237;simo y la app te dir&#237;a que acabas la semana que viene. Bonito, pero mentira.</p><p>Ahora, la parte que hace que esto no se te caiga a los tres meses.</p><p>Por dentro, un objetivo es una etiqueta. Etiquetas el traspaso que alimenta el bote y el objetivo lo suma.</p><p>F&#225;cil. Pero etiquetar a mano todos los meses cansa, y al final lo dejas.</p><p>&#8288;</p><p><strong>Por eso puedes dej&#225;rselo a una regla autom&#225;tica.</strong></p><p>Una regla que diga &#8220;todo lo que entre en mi cuenta de ahorro va a este objetivo&#8221;. Se aplica tambi&#233;n a lo que ya estaba, as&#237; que el hist&#243;rico se cuenta solo.</p><p>Lo configuras una vez. El traspaso del mes que viene llega ya contado.</p><p>Lo tienes <a href="https://whisper.money/documentation/savings-goals?utm_source=victorfalcon&amp;utm_medium=email&amp;utm_campaign=saving-goals">todo explicado aqu&#237;</a>, incluido el error cl&#225;sico de etiquetar los dos lados de una transferencia (no lo hagas, cuenta el dinero dos veces).</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dX2V!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dX2V!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 424w, https://substackcdn.com/image/fetch/$s_!dX2V!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 848w, https://substackcdn.com/image/fetch/$s_!dX2V!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 1272w, https://substackcdn.com/image/fetch/$s_!dX2V!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dX2V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png" width="1280" height="800" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:800,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:194611,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/213707238?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dX2V!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 424w, https://substackcdn.com/image/fetch/$s_!dX2V!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 848w, https://substackcdn.com/image/fetch/$s_!dX2V!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 1272w, https://substackcdn.com/image/fetch/$s_!dX2V!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9edcc184-8ce5-46ab-8104-fd1b1d480c84_1280x800.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Funciona igual para la entrada de un piso, que es el objetivo aburrido que en realidad tiene todo el mundo. Ah&#237; lo que miras no es el porcentaje, es cu&#225;nto necesitas al mes para no llegar tarde.</p><p>Vuelvo a la moto.</p><p>&#8288;</p><p><strong>La Panigale lleva un a&#241;o en el garaje.</strong></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!x1gy!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!x1gy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 424w, https://substackcdn.com/image/fetch/$s_!x1gy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 848w, https://substackcdn.com/image/fetch/$s_!x1gy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 1272w, https://substackcdn.com/image/fetch/$s_!x1gy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!x1gy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png" width="1034" height="907" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:907,&quot;width&quot;:1034,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1362765,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/213707238?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!x1gy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 424w, https://substackcdn.com/image/fetch/$s_!x1gy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 848w, https://substackcdn.com/image/fetch/$s_!x1gy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 1272w, https://substackcdn.com/image/fetch/$s_!x1gy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb729f41f-17c6-4d57-8940-c01704465d9b_1034x907.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>La foto es m&#237;a, no de un cat&#225;logo.</p><p>Tard&#233; dos a&#241;os en decidirme porque durante dos a&#241;os no supe cu&#225;nto faltaba. Iba a ojo, y a ojo se ahorra peor.</p>]]></content:encoded></item><item><title><![CDATA[El agente me corrigió el copy]]></title><description><![CDATA[Cuando volv&#237; hab&#237;a una pull request abierta con el CI en verde.]]></description><link>https://blog.victorfalcon.es/p/escribi-una-frase-y-me-fui-a-por</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/escribi-una-frase-y-me-fui-a-por</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 25 Aug 2026 06:02:29 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/423cb5a1-51cd-4cb5-9407-6f806f7fdc8f_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Escrib&#237; una frase y me fui a por un caf&#233;.</p><blockquote><p>&#8220;A&#241;ade a los ajustes de notificaciones el aviso nuevo para usuarios sin banco conectado.&#8221;</p></blockquote><p>Enter y ya.</p><p>Cuando volv&#237; hab&#237;a un worktree nuevo, una rama nueva, un agente trabajando por su cuenta y una pull request abierta con el CI en verde y un v&#237;deo de la feature funcionando en el navegador.</p><p><strong>Yo no toqu&#233; nada en medio.</strong></p><p>Y hubo un detalle que no esperaba. En el prompt le dije &#8220;email semanal&#8221; y no era exactamente eso. El agente que revisa la parte de producto se dio cuenta, corrigi&#243; el copy y sigui&#243;. Lo vi despu&#233;s, en el v&#237;deo del QA.</p><p>Eso es <mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);">/delegate</mark>. Describes la tarea desde el proyecto principal, el agente busca los detalles en el c&#243;digo, monta el worktree en Herdr y lanza ah&#237; otro agente con las instrucciones ya masticadas. El resto lo hace con <mark data-color="#fff2cc" style="background-color: rgb(255, 242, 204); color: rgb(0, 0, 0);">/ship</mark>.</p><p><strong>Te lo ense&#241;o de principio a fin en el v&#237;deo</strong>, con la pull request de verdad y el v&#237;deo del QA.</p><div id="youtube2-XFbN4xcJHXs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;XFbN4xcJHXs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/XFbN4xcJHXs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Las seis skills est&#225;n publicadas y te dejo el enlace en la descripci&#243;n del v&#237;deo.</p>]]></content:encoded></item><item><title><![CDATA[Le pedí a Claude que ordenara mi viaje a Miami]]></title><description><![CDATA[5.728,18 &#8364; clasificados por d&#237;a y por categor&#237;a mientras me tomaba el caf&#233;.]]></description><link>https://blog.victorfalcon.es/p/le-pedi-a-claude-que-ordenara-mi</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/le-pedi-a-claude-que-ordenara-mi</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Fri, 21 Aug 2026 07:06:12 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/QSSd6z5UZ_M" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Volv&#237; de Miami con 91 movimientos en la cuenta y cero ganas de tocarlos.</p><p>Ya sabes c&#243;mo va esto.</p><p>Vuelos, el coche de Turo, la compra en Publix, cuatro Starbucks, el parking, Uber, Disney. Todo mezclado con la luz y el s&#250;per de casa.</p><p>Lo normal es abrir la app, filtrar por fechas y empezar a etiquetar a mano. Cuarenta y tantos toques.</p><p>Esa noche estaba en el sof&#225; y prob&#233; otra cosa.</p><p>Abr&#237; Claude en el m&#243;vil y escrib&#237;:</p><blockquote><p>&#8220;Actualiza todos mis gastos de Whisper Money en la Shared Card para que tengan la etiqueta Miami 26&#8221;.</p></blockquote><p>Cinco pasos despu&#233;s me contest&#243; que ya estaba. 45 transacciones. Dos ya ten&#237;an la etiqueta, as&#237; que se la puso a las 43 que faltaban.</p><p><strong>&#8288;No abr&#237; la app ni una vez.<br>&#8288;</strong></p><p>A la ma&#241;ana siguiente, con el caf&#233;, tir&#233; del hilo.</p><blockquote><p>&#8220;Mira todos mis gastos etiquetados con Miami 2026 y hazme un resumen por d&#237;a y por categor&#237;a.&#8221;</p></blockquote><p>91 transacciones, del 21 de mayo al 8 de agosto.</p><blockquote><p>Total: 5.728,18 &#8364;.<br>Vuelos: 1.691,34 &#8364;.<br>Alojamiento: 1.159,63 &#8364;.<br>Turo: 671,65 &#8364;.<br>Restaurantes y caf&#233;s: 417,54 &#8364;.</p></blockquote><p>Tard&#243; menos en calcularlo que yo en decidir si quer&#237;a saberlo.</p><p>Y aqu&#237; viene lo que te quer&#237;a contar.</p><p><strong>Esto no es &#8220;hemos metido un chatbot en la app&#8221;. Es justo al rev&#233;s.<br>&#8288;</strong></p><p><a href="https://whisper.money?ref=victorfalcon">Whisper Money</a> ya tiene servidor MCP. Conectas tu cuenta a Claude o a ChatGPT, y tu IA habla directamente con tus finanzas.</p><p>28 herramientas: buscar transacciones, gasto por categor&#237;a, cashflow, patrimonio neto, presupuestos, etiquetas, categor&#237;as y reglas de automatizaci&#243;n. Crear, editar y borrar incluidos.</p><p>Pero t&#250; decides hasta d&#243;nde llega.</p><p>Cuando generas el token eliges entre solo lectura o lectura y escritura. Con el de solo lectura la IA analiza todo lo que quieras y no puede cambiar ni una coma.</p><p>Y hay una l&#237;nea que no cruza ni con permisos de escritura: lo que viene del banco no se puede editar ni borrar. Solo etiquetar y categorizar. Lo que trae el banco, lo manda el banco.</p><div id="youtube2-QSSd6z5UZ_M" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QSSd6z5UZ_M&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/QSSd6z5UZ_M?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>La conexi&#243;n va por OAuth 2.1, la misma que usan los conectores oficiales de Claude y ChatGPT. Autorizas una vez y listo.</p><p>Un aviso por experiencia propia: haz la conexi&#243;n desde el ordenador. En el m&#243;vil, la app instalada se pelea con la pantalla de autorizaci&#243;n y acabas dando vueltas.</p><p>Una vez conectado, ya lo usas desde donde te d&#233; la gana. Yo etiquet&#233; Miami entero tumbado en el sof&#225;.</p><p>Est&#225; disponible en las cuentas Pro. Ajustes &#8594; MCP.</p><p><strong>Y para la primera pregunta, mi recomendaci&#243;n: p&#237;dele el resumen de en qu&#233; te has gastado el dinero este mes.</strong></p><p>Luego no digas que no te avis&#233;.</p>]]></content:encoded></item><item><title><![CDATA[El atajo que más uso no viene de serie]]></title><description><![CDATA[No estaba rota. La borr&#233; para poder grabar esto.]]></description><link>https://blog.victorfalcon.es/p/borre-toda-mi-config-de-herdr-a-proposito</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/borre-toda-mi-config-de-herdr-a-proposito</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 28 Jul 2026 06:31:24 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/0341faf9-3e03-4fb6-ac6c-0a674b578ef0_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Coment&#233; cada l&#237;nea hasta dejarla en blanco.</p><p>No porque se hubiera roto algo.</p><p>Al rev&#233;s: funcionaba perfecta.</p><p>La borr&#233; solo para poder grabar el v&#237;deo que te traigo hoy.</p><p>Porque esos ajustes los fui metiendo poco a poco, casi sin darme cuenta.</p><p>Y resulta que <strong>son justo los que hacen que trabajar con agentes en la terminal (Claude Code, Codex, lo que uses) vaya r&#225;pido de verdad</strong>.</p><p>&#8288;</p><h4>Casi ninguno viene por defecto.</h4><p>Y ninguno parece gran cosa hasta que lo ves funcionando.</p><p>Como el que hace que la terminal me diga qu&#233; est&#225; haciendo cada agente, en vez de c&#243;mo se llama.</p><p>O el atajo que uso m&#225;s que ning&#250;n otro y que todav&#237;a no viene de serie en ning&#250;n sitio.</p><p>En el v&#237;deo los voy desmontando uno a uno: qu&#233; cambio, por qu&#233;, y qu&#233; puedes robarme para tu propio setup.</p><p>Dura poco. Y te vas con la configuraci&#243;n entera copiada.</p><div id="youtube2-bB3he4UCdRg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bB3he4UCdRg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bB3he4UCdRg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[Le doy la tarea, me la devuelve resuelta y con la PR en verde]]></title><description><![CDATA[Mi colecci&#243;n de skills para Claude Code y Codex + un v&#237;deo de una en acci&#243;n.]]></description><link>https://blog.victorfalcon.es/p/le-doy-la-tarea-me-la-devuelve-resuelta</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/le-doy-la-tarea-me-la-devuelve-resuelta</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 21 Jul 2026 06:30:20 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a2aaaa1f-6781-42a8-8da3-c79951571922_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Son las 19:42 y el c&#243;digo ya funciona.</strong></p><p>Pero no has terminado.</p><ul><li><p>Falta el QA.</p></li><li><p>Falta revisar el c&#243;digo.</p></li><li><p>Falta abrir la PR y escribir una descripci&#243;n que se entienda.</p></li><li><p>Falta esperar a que la CI se ponga verde.</p></li></ul><p>Y si algo peta, vuelta a empezar.</p><p>Escribir la feature fue lo r&#225;pido. Lo dem&#225;s es lo que te deja seco.</p><p>&#8288;</p><p><strong>As&#237; que hice algo con eso.</strong></p><p>Mont&#233; una colecci&#243;n de skills para Claude Code y Codex.</p><p>La que m&#225;s uso, de largo, es `/ship`.</p><p>Le das una tarea. Y la lleva de principio a fin.</p><p>La implementa. Hace QA. Lanza dos reviews de c&#243;digo a la vez. Abre la PR. </p><p>Y se queda mirando la CI hasta que est&#225; verde.</p><p>Yo mientras me tomo un caf&#233;.</p><p>&#8288;</p><p><strong>Pero antes de construir hay que pensar.</strong></p><p>Para eso uso `/grilling`.</p><p>Coge tu idea y la machaca a preguntas hasta que el plan aguanta solo.</p><p>Nada de picar c&#243;digo sobre una idea a medias.</p><p>Grab&#233; un v&#237;deo usando las dos en un caso real.</p><p>De la idea al merge, sin cortes.</p><p>Primero el plan con `/grilling`. Despu&#233;s `/ship` con todo lo dem&#225;s.</p><div id="youtube2-y4F5K6yhxqY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;y4F5K6yhxqY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/y4F5K6yhxqY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><strong>&#8288;<br>Si te pasas media vida en la parte aburrida de enviar c&#243;digo, esto es para ti.</strong></p><p>&#128279; El repo est&#225; aqu&#237;. Ll&#233;vate las skills que quieras: <a href="https://github.com/victor-falcon/skills">victor-falcon/skills</a></p>]]></content:encoded></item><item><title><![CDATA[This changed the way I work (and it's ridiculously simple)]]></title><description><![CDATA[This tool has completely changed how I work. It makes it really easy to orchestrate five or six agents in the same repository, each in its own worktree, and with an independent server.]]></description><link>https://blog.victorfalcon.es/p/this-changed-the-way-i-work-and-its</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/this-changed-the-way-i-work-and-its</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Sun, 19 Jul 2026 09:46:12 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/69c24d51-92fa-4771-b164-bfcc1abdc17b_1376x768.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><strong>Yesterday I had five agents working at once.</strong></p><p>In the same repo.</p><p>Each one on its own task.</p><p>And me, in the browser, testing what they changed almost in real time.</p><p>Sounds like chaos. It wasn&#8217;t.</p><p>For months I worked with AI the &#8220;normal&#8221; way: one chat, one task, wait, review, repeat.</p><p>Slow.</p><p>Until I tried a tool that flipped the whole thing around.</p><p>Now I can spin up four, five, six agents in parallel on the same project.</p><p>Each one pulling its own thread.</p><p>And I jump between them, watching the changes in the browser without setting up anything weird.</p><p><strong>The best part isn&#8217;t the power. It&#8217;s how simple it is.</strong></p><p>I recorded the whole thing in a new YouTube video so you can see it actually working.</p><div id="youtube2-bTAPzSbkN0I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bTAPzSbkN0I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bTAPzSbkN0I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[¿Tu banco no está en Whisper Money? Ahora puedes añadirlo tú]]></title><description><![CDATA[El truco no es la IA. Es la documentaci&#243;n que hay detr&#225;s.]]></description><link>https://blog.victorfalcon.es/p/tu-banco-no-esta-en-whisper-money</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/tu-banco-no-esta-en-whisper-money</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Fri, 17 Jul 2026 07:01:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/hUYjDUQ8hx8" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Otra vez me han pedido que a&#241;ada una moneda a Whisper Money.</p><p>Pasa casi cada semana. Un peso de aqu&#237;, un rand de all&#225;. Gente con bancos en Sudam&#233;rica, en &#193;frica, en sitios que ni sab&#237;a que ten&#237;an app de banca.</p><p>Hace un a&#241;o esto me habr&#237;a dado una pereza tremenda.</p><p><strong>Ayer a&#241;ad&#237; la corona sueca en cinco minutos. Y estaba tom&#225;ndome un caf&#233; mientras pasaba.</strong></p><p>Te cuento c&#243;mo.</p><p>Abr&#237; una rama nueva, lanc&#233; un agente y le escrib&#237; una sola frase:</p><blockquote><p>&#8220;A&#241;ade la moneda al sistema, que funcione tanto en cuentas de usuario como en cuentas bancarias.&#8221;</p></blockquote><p>Le pas&#233; un documento de referencia y me fui a por el caf&#233;.</p><p>Cuando volv&#237; hab&#237;a una pull request esper&#225;ndome. T&#237;tulo claro. Descripci&#243;n clara. Los cuatro archivos justos tocados, con la traducci&#243;n al espa&#241;ol y al franc&#233;s ya puestas.</p><p>Le di a auto-merge.</p><p>Cinco minutos despu&#233;s la corona sueca estaba en producci&#243;n, disponible para todo el mundo.</p><h4>Y aqu&#237; est&#225; lo que de verdad quer&#237;a contarte.</h4><p>Eso no funciona por magia. Funciona porque antes me sent&#233; a documentar el proceso.</p><p>Escrib&#237; un documento que explica qu&#233; archivos hay que tocar para meter una moneda, y otro para conectar un proveedor de datos nuevo.</p><p>El agente lee ese documento y sabe exactamente qu&#233; hacer. Pero no es solo para el agente.</p><p>Es para cualquier persona que quiera colaborar.</p><p>Por eso hice Whisper Money open source. Y por eso me pongo a documentar estas cosas.</p><p>Un desarrollador que nunca ha visto el proyecto puede abrir la documentaci&#243;n, lanzar Claude Code o Copilot, y en veinte o treinta minutos tener una moneda nueva o una integraci&#243;n funcionando.</p><p>Yo no tengo cuenta en todos los bancos del mundo. No puedo probarlos todos.</p><h4>Pero si t&#250; usas un banco que no est&#225;, ahora puedes a&#241;adirlo t&#250; mismo.</h4><p>Ese es el trato.</p><p>Grab&#233; un v&#237;deo ense&#241;ando el proceso entero, paso a paso, con la corona sueca de ejemplo.</p><p>Si quieres ver lo f&#225;cil que es, o colaborar con tu moneda o tu banco, empieza por aqu&#237;:</p><div id="youtube2-hUYjDUQ8hx8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;hUYjDUQ8hx8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/hUYjDUQ8hx8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[TypeScript in Go is already available!]]></title><description><![CDATA[Make NVIM even faster now. Go-to-definition used to cost me a coffee sip.]]></description><link>https://blog.victorfalcon.es/p/typescript-in-go-is-already-available</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/typescript-in-go-is-already-available</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Fri, 10 Jul 2026 12:39:30 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qmId!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9476e9ab-fb86-40bd-a529-daa1a0b7e89d_400x400.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Cursor lands on a function.</p><p>I hit go-to-definition.</p><p>And then I wait.</p><p>One second. Two. On our biggest repo, sometimes five.</p><p>You don&#8217;t notice it in a small project.</p><p>In a monorepo with thousands of files, you feel every one of those seconds.</p><p>It turned into muscle memory: hit &#8220;find all references,&#8221; tab over to Slack, come back when it finished thinking.</p><p>That was normal for years. I figured it was just the price of a big codebase.</p><p>Then TypeScript 7.0 shipped.</p><p>They rewrote the entire compiler in Go. The old one was JavaScript checking your JavaScript, which is about as fast as it sounds.</p><p>The build numbers are almost rude:</p><ul><li><p>VSCode&#8217;s typecheck dropped from 125 seconds to about 10.</p></li><li><p>Slack cut CI type-checking from 7.5 minutes to 1.25.</p></li><li><p>Opening a file full of errors in the editor went from 17 seconds to under 1.3.</p></li></ul><p><strong>&#8288;<br>Roughly 8 to 12 times faster across the board.</strong></p><p>But I don&#8217;t stare at build logs all day. I live inside my editor.</p><p>So the number I actually cared about was that editor one.</p><p>I <strong>wired the native compiler into Neovim</strong>, restarted, and dropped my cursor on a symbol in our biggest project.</p><p>Go-to-definition.</p><p>It landed before my finger left the key.</p><p>No spinner, no Slack detour. References that used to take seconds now feel like they were already sitting there.</p><p>Here&#8217;s exactly what I did. Three steps, about ten minutes.</p><p>&#8288;</p><h4>Step 1. Install the native compiler.</h4><p>Global (a fallback for loose files with no project):</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;4d695b82-22fb-4647-bef5-e725e45ef2c8&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">  npm i -g typescript@latest      # stable TS 7.0+, ships the `tsc` binary</code></pre></div><p>Per project (recommended, so the LSP uses the repo&#8217;s version):</p><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;bac9fa37-b407-49d0-b157-2eb27d03cb27&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">  npm i -D typescript@latest      # lands in node_modules/.bin/tsc</code></pre></div><h4>Step 2. Turn it on in Neovim. nvim-lspconfig already ships lsp/tsgo.lua, so you only override the cmd:</h4><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;4cb1a3f8-0e1d-4aa6-bbce-9de6221ea95c&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">  -- Stable TS 7.0 ships as `tsc` in the `typescript` package (LSP via `tsc --lsp`).
  -- lspconfig&#8217;s lsp/tsgo.lua still launches `tsgo`, so override just the cmd.
  vim.lsp.config(&#8217;tsgo&#8217;, {
    cmd = function(dispatchers, config)
      local bin = &#8216;tsc&#8217;

      if (config or {}).root_dir then
        local local_bin = vim.fs.joinpath(config.root_dir, &#8216;node_modules/.bin&#8217;, bin)
        if vim.fn.executable(local_bin) == 1 then bin = local_bin end
      end

      return vim.lsp.rpc.start({ bin, &#8216;--lsp&#8217;, &#8216;--stdio&#8217; }, dispatchers)
    end,
  })

  vim.lsp.enable &#8216;tsgo&#8217;</code></pre></div><p>root_dir (it finds the root by lockfile, with monorepo and Deno support) and inlay hints already come from lsp/tsgo.lua. Your vim.lsp.config just deep-merges on top.</p><h4>Step 3. Check it.</h4><div class="highlighted_code_block" data-attrs="{&quot;language&quot;:&quot;plaintext&quot;,&quot;nodeId&quot;:&quot;c48dc84c-1e51-4a2d-9ee3-13921bbe33b1&quot;}" data-component-name="HighlightedCodeBlockToDOM"><pre class="shiki"><code class="language-plaintext">tsc --version # &#8594; Version 7.0.x</code></pre></div><p>In nvim, on a .ts file: :LspInfo (or :checkhealth vim.lsp), and you&#8217;ll see the tsgo client attached.</p><p>&#8288;</p><p>A few notes:</p><ul><li><p>You need Neovim 0.11+. That&#8217;s where <code>vim.lsp.config</code> and <code>vim.lsp.enable</code> live.</p></li><li><p>It&#8217;s not in Mason. The binary comes from npm, not :Mason.</p></li><li><p>Want the nightly channel instead? <code>npm i -g @typescript/native-preview</code> (that&#8217;s the tsgo binary) and use <code>tsgo</code> as your bin.</p></li></ul><p>That&#8217;s the whole thing.</p><p>I went from waiting several seconds on our biggest projects, just to jump to a definition or list references, to everything being instant.</p><p>The editor finally keeps up with how fast I&#8217;m reading the code.</p><p><strong>If you write TypeScript in Neovim, give it the ten minutes this week.</strong></p><p>Then hold down go-to-definition on your ugliest file and enjoy how quiet it got.</p>]]></content:encoded></item><item><title><![CDATA[I have an employee whose face I've never seen]]></title><description><![CDATA[He works in the early morning, fixes bugs in production, and has never asked me for a day off.]]></description><link>https://blog.victorfalcon.es/p/i-have-an-employee-whose-face-ive</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/i-have-an-employee-whose-face-ive</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Mon, 06 Jul 2026 09:59:05 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qmId!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9476e9ab-fb86-40bd-a529-daa1a0b7e89d_400x400.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;ve got an employee I&#8217;ve never seen the face of.</p><p>It&#8217;s 3 in the morning.</p><p>Something breaks in production.</p><p>One user, maybe hundreds, walk straight into an error.</p><p>I&#8217;m asleep.</p><p>And still, 15 minutes later, the fix is live. Working.</p><p>&#8288;</p><h4>Nobody touched a key.</h4><p>I&#8217;ve been messing around with loops for a while now.</p><p>In Whisper Money I&#8217;ve got an agent that never stops.</p><p>Round and round it goes, watching every error Sentry reports.</p><p>When it finds one, it does triage.</p><p>How many users does it hit? Is it serious?</p><p>Based on that, it decides where to start.</p><p>Then it gets to work on the fix.</p><p>&#8288;</p><h4>And here&#8217;s the good part.</h4><p>Before it calls anything done, it reviews itself from three angles at once: the code architecture, the possible bugs and regressions, and the user experience.</p><p>If it all checks out, it opens the pull request.</p><p>And if the fix is simple and it&#8217;s sure, it flips on auto-merge.</p><p>The solution ships to production on its own.</p><p>Without me lifting a finger.</p><p>So far it&#8217;s solving all of them.</p><p>Zero problems in production. Not one.</p><p>&#8288;</p><h4>It&#8217;s the closest thing to a real employee I&#8217;ve ever had. And it&#8217;s 100% automatic.</h4><p>The feeling is strange, I won&#8217;t lie to you.</p><p>Something blows up, because I just deployed or for whatever reason, and I already know that in 10, 15, 20 minutes it&#8217;ll be fixed.</p><p>Without opening my laptop.</p><p>This isn&#8217;t a demo or a LinkedIn video.</p><p>It&#8217;s running in my production while you read this.</p>]]></content:encoded></item><item><title><![CDATA[I did learn the KEY to make money with a project.]]></title><description><![CDATA[I shipped 25+ products in five years. The code was never the problem.]]></description><link>https://blog.victorfalcon.es/p/i-did-learn-the-key-to-make-money</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/i-did-learn-the-key-to-make-money</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 30 Jun 2026 10:59:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Re_T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Five years.</p><p>More than 25 products shipped. Just me doing the code, the design, the marketing, all of it.</p><p>A couple even sold. A few made decent money. So no, <strong>not a flop.</strong></p><p>But I never built the one.</p><p>The product that pays the bills every month and lets you quit everything else and go all in.</p><p>For a long time I blamed the wrong things. The code wasn&#8217;t clean enough. The design needed one more pass. Ship it again, better this time.</p><p>&#8288;</p><p><strong>That was never it.</strong></p><p>I&#8217;m a good programmer. I know product. I can design. None of that was holding me back.</p><p>What held me back was getting anyone to actually see the thing I built.</p><p>That&#8217;s distribution. <strong>And it&#8217;s pretty much the whole game.</strong></p><p>The project that finally drove it home for me was <a href="https://whisper.money?ref=victorfalcon">Whisper Money</a>. That&#8217;s where it clicked: the building was the easy part, and getting people to find it was everything.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Re_T!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Re_T!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 424w, https://substackcdn.com/image/fetch/$s_!Re_T!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 848w, https://substackcdn.com/image/fetch/$s_!Re_T!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 1272w, https://substackcdn.com/image/fetch/$s_!Re_T!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Re_T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png" width="729" height="410" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:410,&quot;width&quot;:729,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:217052,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://blog.victorfalcon.es/i/204120446?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Re_T!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 424w, https://substackcdn.com/image/fetch/$s_!Re_T!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 848w, https://substackcdn.com/image/fetch/$s_!Re_T!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 1272w, https://substackcdn.com/image/fetch/$s_!Re_T!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F506126f9-dd1d-4f91-970e-29a68081fa27_729x410.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image buttonBase-GK1x3M"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg" class="icon-noB79L"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image buttonBase-GK1x3M"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2 icon-noB79L"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>You can build the best product on earth and watch it die quiet because nobody ever found it.</p><p>Here&#8217;s what makes it worse now. AI writes half your code. Building has never been this easy, so everyone is shipping something.</p><p>The hard part stopped being the building a while ago.</p><p>&#8288;</p><p><strong>The hard part is getting found.</strong></p><p>So if you only learn one thing this year, don&#8217;t make it another SaaS.</p><p>Learn how to put your product in front of people. Otherwise you&#8217;re just talking to yourself.</p>]]></content:encoded></item><item><title><![CDATA[Why being "just" a programmer is a dying career]]></title><description><![CDATA[Code is becoming less important. The areas where AI can&#8217;t reach yet are where you need to focus right now.]]></description><link>https://blog.victorfalcon.es/p/why-being-just-a-programmer-is-a</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/why-being-just-a-programmer-is-a</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Sun, 21 Jun 2026 11:50:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qmId!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9476e9ab-fb86-40bd-a529-daa1a0b7e89d_400x400.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As you know, I&#8217;ve been working at Factorial for two years.</p><p>The other day, <strong>a designer made their first code change</strong> in the product.</p><p>This is proof that the ability to write code is becoming less important.  </p><p>It&#8217;s also becoming more horizontal.</p><p>Anyone with general computer knowledge, will be able write code using AI, create a pull request, and launch a feature.</p><p><strong>If that&#8217;s all you can bring as a programmer, you&#8217;re fucked.  </strong></p><p><strong>&#8288;</strong></p><p>In the coming months, designers won&#8217;t be the only ones making updates.  </p><p>Product owners and even customer support will also be able to launch their own changes to the product.</p><p><strong>So if the only thing you can do right now is receive a ticket with a description and turn it into a pull request, you are fucked.  </strong></p><p>  &#8288;</p><p>Now more than ever, <strong>being a programmer has to mean something more</strong>. </p><p>It means being able to read production logs and spot optimization points, identifying bottlenecks, figuring out what&#8217;s consuming the most resources, and pinpointing the parts that are performing poorly for users.</p><p>It also involves product knowledge: thinking about how we can make the product more useful, solving user problems more effectively, and pulling the right levers to boost our product&#8217;s ARR.</p><p>As a programmer, you also need to start learning and understanding how servers work, how deployments work, and the different CI and CD processes. </p><p>All of these areas are where AI isn&#8217;t reaching yet, so you have to know how to control them.  </p><p>  &#8288;</p><p>I don&#8217;t want to alarm you. I&#8217;m a programmer too, but honestly, <strong>junior developers and mid&#8209;level engineers who only take tickets and submit pull requests are in trouble</strong>. </p><p>If you want to stay competitive in the market and keep progressing, you need to go one step further.</p>]]></content:encoded></item><item><title><![CDATA[Why 99% build products that stay at $0 MRR ❌]]></title><description><![CDATA[You think your code quality matters? Think again. The brutal reality of why your project is failing before you even launch.]]></description><link>https://blog.victorfalcon.es/p/why-99-build-products-that-stay-at</link><guid isPermaLink="false">https://blog.victorfalcon.es/p/why-99-build-products-that-stay-at</guid><dc:creator><![CDATA[Víctor Falcón 🤟]]></dc:creator><pubDate>Tue, 16 Jun 2026 10:56:58 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!qmId!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9476e9ab-fb86-40bd-a529-daa1a0b7e89d_400x400.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The key is in <strong>distribution</strong>.</p><p>If you&#8217;re not clear on that, writing code today isn&#8217;t a blocker at all.</p><p>Launching products is easier than ever, and adding new features or filters to your product is just as simple.</p><p></p><p>The key is <strong>getting your product to the right audience</strong>&#8212;and to as many people as possible within that audience.</p><p>If you are a developer like me, and you are focused on features, code quality, speed, performance, frameworks, programming languages, and all that stuff.</p><p>You&#8217;re mistaken.</p><p></p><p>I noticed all of this with <a href="https://whisper.money/?utm_source=victor_falcon&amp;utm_medium=email&amp;utm_campaign=victor_falcon">Whisper Money</a>.</p><p>I started this product about six months ago. The product is complete and functional. It covers a real need. It&#8217;s also attractive and easy to use.</p><p>But <strong>it wasn&#8217;t until I teamed up with a partner who handled marketing and distribution</strong> that the product <strong>started to take off</strong>.</p><p></p><p>As of today, our <strong>MRR keeps climbing</strong>.</p><p>Every day we&#8217;re gaining more users, getting more feedback, and building a bigger community.</p><p>And finally, it feels like the product is really starting to click.</p>]]></content:encoded></item></channel></rss>