Cuenta atrás: un decreto zombi, cómo succionar el ICO y la onnie, ahora con minuta

Aupa, kuadrilla.

Lo prometido: si se aprobaba, las trampas me las guardaba. Se ha aprobado (en el Consejo de Ministros; lo de convalidar, ya veremos), así que esta vez, por deontología, las trampas van con minuta y compromiso de confidencialidad. Lo de aquí está en el BOE para todo el mundo.

Y lo de siempre: como animal político, el txakur no tiene rival. Disuelve las Cortes un lunes, aprueba dos decretos el martes y los publica el miércoles. Lo de redactarlos ya es otra historia.

Y ya que hablamos de minutas: alguien se ha quejado de que mis posts son muy largos. Normal. En el despacho se cobra por hora y por palabra. Contesto en bertso, que es lo más corto que sé hacer:

>Dicen que escribo largo,
que soy un tostón;
en el despacho, amigos,
se cobra el renglón,
por hora y por palabra:
lo corto, a doblón.
Si queréis el resumen,
va con comisión.

Bertsolari no soy. La rima, la cobro igual.

1. El Gobierno lee Reddit (o tiene un becario que sí)

No digo que el Gobierno lea Reddit. Digo que, ves per on, varios agujeros que comentamos por aquí la semana pasada salen tapados:

  • El artículo 1 ya no va contra toda entidad que «incluya en su objeto social la adquisición de inmuebles», que pillaba hasta a la cooperativa de la amona. Ahora va contra quien se dedica a comprar casas o carteras de hipotecas impagadas «por un precio claramente inferior» a tasación, y contra las sociedades gran tenedor con todo su grupo y con quien actúe por su cuenta. Y hasta 2030, ya no 2028.
  • El precio ya no es el precio: es la «contraprestación total efectiva», que suma lo que pagas, las deudas que asumes y las «ventajas patrimoniales» tuyas o de tus vinculados. Y tasa una sociedad homologada e independiente. El cuñado tasador, al banquillo.
  • Las excepciones, ejecuciones hipotecarias incluidas, solo valen para quien se adhiera a un Código de Buenas Prácticas. Que todavía no existe. Hasta que exista, no hay excepciones.
  • En el 28 desaparece el cajón de sastre del «casero vulnerable» para no pagar indemnización, y la indemnización se calcula con el valor alto del rango del índice estatal, no con la renta de «una vivienda de análogas características», que era una frase que daba para tres periciales.
  • En el mus, si alguien dice «no hay mus», no se descarta nadie. El Congreso dijo «no hay mus» y el Gobierno se ha descartado igual: el 26 y el 27 al montón, el 28 y el 29 a la mano. Para que nadie proteste, el preámbulo trae lista de precedentes de decretos tumbados y vueltos a aprobar, del tabaco en 2006 al ómnibus de 2025, y aclara que se puede hacer con las Cortes disueltas. Alguien ha hecho los deberes. Eskerrik asko.

Lo que no ha hecho nadie es releerlo. ¡Aiba! La comisión que reparte los diez mil millones queda adscrita al «Ministerio de Vvivienda», y la disposición final quinta, tal como salió en el BOE, cierra unas comillas que nadie abrió. Zorionak al becario. Leerán Reddit, pero el BOE no se lo relee ni él.

Base legal: RDL 29/2026, art. 1 (compárese con el RDL 26/2026, q. e. p. d.) · RDL 28/2026, preámbulo y artículo único · RDL 29, art. 19.11 · RDL 29, DF 5ª tal como se publicó

2. El decreto zombi

El RDL 28 es una gilda de tres pisos: prórrogas de cinco o siete años, preaviso de seis meses e indemnización si el casero no renueva. Pica, y entra en vigor el 15 de noviembre. No al día siguiente de publicarse, como su hermano el 29: el 15 de noviembre.

La Diputación Permanente tiene que convalidarlo dentro de los treinta días siguientes a su promulgación, que el Congreso cuenta en días hábiles (sábados dentro, domingos y festivos fuera): el plazo se acaba hacia el 12 o el 13 de noviembre, según cómo trate el Congreso a la Almudena. O sea, se vota antes de nacer. Si lo convalidan, nace el 15. Si no, se muere sin haber estado vivo ni un minuto.

Pero ya anda. Lo que el casero notifique desde la publicación queda bajo el régimen nuevo si el decreto sobrevive; lo notificado antes conserva su eficacia y sin indemnización. La carrera del burofax se acabó el 7 de octubre, con el BOE. No está vivo, pero ya anda: un zombi de manual, y justo a tiempo para Gau Beltza.

Dos detalles de redacción para el txoko. El preámbulo dice que el Congreso derogó el RDL 27 «el 29 de septiembre», que es el día en que se aprobó; fue el 2 de octubre. Y jura que la aplicación diferida «no resta urgencia», porque las decisiones de no prórroga quedan sujetas «ya» al nuevo régimen. Ya. El 15.

Y aquí está el flanco gordo. El Constitucional (STC 14/2020) dice que un decreto-ley puede tardar en ejecutarse, pero la norma tiene que tener eficacia inmediata, y solo acepta que sus efectos se demoren cuando lo pide la naturaleza de la cosa: un plan, una obra, un procedimiento. Al decreto de alquiler de 2019 le tumbó una disposición que solo encargaba al ministerio un programa de medidas, eficacia de puertas para dentro. Aquí la demora es elegida, «por seguridad jurídica». El preámbulo se defiende antes de que nadie le pegue, que es lo que hace uno cuando sabe por dónde le van a pegar.

Base legal: RDL 28, DF 2ª y DT única · Constitución, arts. 78.2 y 86 · Reglamento del Congreso, arts. 90 y 151 · Derogación del RDL 27 · STC 14/2020

3. Cómo succionar el ICO (edición gratuita, explicada al mus)

Esta es la sección larga. Como cobro por palabra, también es la más cara.

Se llama TU CASA (en el txoko ya le decimos zure etxea, que suena a caserío con hipoteca). Diez mil millones de euros, al 0 % y sin comisiones, para quien compre con hipoteca su primera vivienda habitual, «independientemente de su edad». Mi aitona, con 84 años, ya lo ha preguntado en el hamaiketako; que un banco le dé la hipoteca es otra mano. El ICO pone hasta el 20 % del valor de la casa o 50.000 euros, lo que sea menos: justo la entrada que el banco no te financia. Y como en esta casa todo se explica al mus, por lances.

A la grande: ¿diez años o cuarenta? El artículo dice que el préstamo se concede «hasta 10 años», «con un período de carencia igual al del plazo de la hipoteca, y por un máximo de 30 años». Un préstamo a diez años con treinta de carencia: el único producto financiero que empiezas a pagar veinte años después de vencer. El preámbulo lo arregla a su manera: carencia «hasta finalice» la hipoteca (sin «que», la prisa), con treinta años como mucho, y luego diez para devolver. Cuarenta años al 0 %. Si el dinero vale un 3 % al año, con la lectura del preámbulo te regalan unos 32.000 euros de cada 50.000; si fueran diez años a secas, unos 7.000. En préstamos de 50.000, los diez mil millones dan para 200.000, así que entre una lectura y otra bailan unos cinco mil millones. Hay comas más baratas. Órdago a la grande (hor dago, que decía mi aitona) y que decida el ICO.

A la chica: la letra pequeña que succiona de vuelta. Pica más que una piparra. La casa queda sujeta «permanentemente» a un precio máximo de transmisión: lo que pagaste más el IPC. Permanentemente: aunque devuelvas el préstamo al día siguiente, y para quien te la compre, y para el siguiente. Tiene que ser vivienda habitual, y si la alquilas, por debajo del índice. Con una casa de 250.000 euros (la que da para los 50.000 del ICO) que suba un 1 % al año por encima del IPC, a los treinta años son unos 87.000 euros de revalorización real que no verás si vendes. Enhorabuena: te has comprado una VPO sin sorteo. Aquí ya no está tan claro quién succiona a quién.

Pares (duples, de hecho). Primera pareja: Hacienda y Seguridad Social. El préstamo va por la disposición adicional sexta de la Ley de Subvenciones, así que, salvo que el Acuerdo diga otra cosa, hay que cumplir los requisitos de beneficiario, y entre ellos está, jakina, estar al corriente con las dos. Ahí ya se cae media kuadrilla. Y si has pedido el concurso, ni lo intentes. Segunda pareja: el ICO y la comisión rectora. El ICO estudia tu operación «conforme a sus políticas de riesgos», que para eso es un banco, y propone; decide una comisión «interministerial» cuyos vocales salen todos del mismo ministerio. Interministerial como jugar al mus tú solo.

Juego: el airbag. El artículo 19.14 es mi favorito: si un día todo se tuerce y acabas en concurso, el préstamo es «crédito financiero», «incluyendo la exoneración del pasivo insatisfecho». Traducido: la segunda oportunidad se lo puede llevar como si fuera de un banco, y no como una deuda con Hacienda, que solo se exonera hasta un tope. ¿Entonces sale gratis? Ez horixe. Es un airbag, no un plan. Pedirlo pensando en no devolverlo tiene nombre, mala fe, y el juez lo conoce.

Al punto, para los que no tienen juego: los promotores. Una línea de avales de 2.000 millones a 35 años para alquiler social o asequible, que salen publicados en la Base de Datos Nacional de Subvenciones (succionar, sí, pero con foto); 280 millones más para pymes que construyan en fábrica, hasta 2040; y 400 millones para un Fondo de Vivienda de Impacto Social que financiará «proyectos innovadores» según un desarrollo reglamentario que tampoco existe. Innovar, innovamos todos.

Y falta quien reparte. Quién puede pedir TU CASA (¿«primera» vivienda de quién?), con qué límites y cuánto dinero hay de verdad lo dirá un Acuerdo del Consejo de Ministros que todavía no existe; cómo funciona la comisión, otro; cómo se inscribe la limitación en el Registro, un reglamento que tampoco. Si no salen antes de las elecciones del 29 de noviembre, los tendrá que aprobar un Gobierno en funciones, limitado al «despacho ordinario» salvo urgencia o interés general acreditados. Diez mil millones no son despacho ordinario ni en el txoko.

Resumen de la versión gratuita: compra con hipoteca, pide el 20 % al 0 %, vive en la casa, no la vendas nunca y reza para que el ICO lea el preámbulo. Así el regalo es tuyo y la limitación no te muerde.

¿Hay más jugo? Bai horixe. Pero eso ya no es BOE para todos: va a minuta y con compromiso de confidencialidad. Por deontología. Y lo que sea mentir en la solicitud no va ni con minuta: eso acaba en devolver el dinero con intereses y, según cómo, en el Código Penal.

Base legal: RDL 29, art. 19 y preámbulo · art. 13 (Fondo de Impacto) · arts. 16 a 18 (avales) · Ley General de Subvenciones, DA 6ª y art. 13 · Ley del Gobierno, art. 21

4. El retracto de la reina regente

Esto no viene en el decreto: viene en el Código Civil, que es de 1889 y lo firmó una reina regente. Con 137 años es la amona del ordenamiento, y tiene más carácter que muchos decretos. Artículo 1535: si venden un crédito litigioso, el deudor puede extinguirlo pagando al comprador lo que este pagó, más las costas y los intereses del precio desde el día en que lo pagó. Tiene nueve días desde que le reclaman. ¿Que el fondo compró tus 100.000 euros de deuda por 8.000? Le das los 8.000, las costas y los intereses, y a otra cosa. La norma más antifondos de España nunca ha tenido que pasar por la Diputación Permanente.

Ahora el jarro de agua fría, que para eso estoy. El Supremo (STS 151/2020) la ha dejado en los huesos. Primero, el crédito tiene que ser litigioso de verdad: un pleito vivo, con la demanda contestada, en el que se discuta si la deuda existe o se puede exigir. Haber demandado la cláusula suelo no cuenta: eso discute un trozo del contrato, no la deuda. Segundo, las ventas de carteras en bloque, miles de préstamos a precio global, van a limpiar balances y no a especular con tu pleito, así que ahí el retracto no entra. Que es justo como compran los fondos.

O sea, la amona te defiende si el fondo te ha comprado a ti solito, a precio conocido y en pleno pleito. Que es como ver a un fondo pidiendo un kalimotxo con pajita: no digo que no pase, digo que yo no lo he visto. Como chiste, buenísimo. Como estrategia, consulta antes de soñar.

Base legal: Código Civil, art. 1535 · STS 151/2020, de 5 de marzo (Sala Primera)

5. Calendario del interregno

  • Desde el 8 de octubre, con el 29 en vigor: si tu prórroga obligatoria acaba antes de que termine 2028, o estás en prórroga tácita o en tácita reconducción, puedes pedir una prórroga extraordinaria de hasta dos años. Requisito: estar al corriente y haberlo estado mes a mes los ocho meses anteriores. Si al casero de repente se le «pierde» tu transferencia, consigna: «no me lo quiso cobrar» no es estar al corriente. Solo se libra si necesita la casa de verdad (aunque el contrato no lo previera), si firmáis contrato nuevo o si pactáis bajar la renta al menos un 5 %. En zona tensionada manda la prórroga del 10.3 de la LAU, de hasta tres años.
  • Hasta el 31 de diciembre de 2027, actualización de la renta: si estás por encima del índice, cero; si no, lo que pactéis, y si no pactáis, un 2 % como mucho.
  • Hacia el 12-13 de noviembre: se acaba el plazo para que la Diputación Permanente convalide los dos decretos. Si cae alguno, qué pasa con lo que se pidió mientras estuvo vivo es exactamente el tipo de pregunta que va a minuta.
  • 15 de noviembre: si sobrevive, nace el 28.
  • 29 de noviembre: elecciones. Desde el día siguiente, Gobierno en funciones. Y el txakur, de campaña, que es donde mejor juega.
  • 1 de diciembre: los contratos de alquiler que se firmen desde ese día estrenan las reducciones nuevas del IRPF; los anteriores se quedan con las de antes. Casero que vaya a firmar a finales de noviembre: haz números, que una semana te cambia la reducción.
  • 24 de diciembre: baja el Olentzero, el único que reparte regalos sin Acuerdo del Consejo de Ministros.

Base legal: RDL 29, DF 5ª y DF 6ª · Código Civil, art. 1176 · LAU, art. 10 · RDL 28, DF 2ª · Constitución, art. 101 · RDL 29, art. 6 (IRPF)

6. ¿Y quién paga la ronda?

Esta va por u/Hetaroi.

En el txoko la regla es sagrada: lo que consumes lo apuntas en la libreta, y a fin de mes pagas. Diez mil millones para TU CASA, cinco millones de «gastos financieros» y cuatrocientos millones para el Fondo de Impacto Social. Cinco millones son el 0,05 % de diez mil: o el dinero le sale gratis a alguien, o el resto de la cuenta está en otra libreta. ¿De dónde sale todo? El decreto dice que se financia «de conformidad con el artículo 59 de la Ley General Presupuestaria». Traducción para el txoko: como es dinero que se presta y no que se gasta, no hace falta tirar del Fondo de Contingencia, y las operaciones financieras, dice la ley, se pagan con deuda pública. La ronda se apunta en la libreta, y la libreta la compran seis noruegos y un gato.

Lo que no se apunta en ninguna libreta es la diferencia entre lo que al Tesoro le cuesta el dinero y el 0 % al que lo presta, durante cuarenta años si gana el preámbulo. Esa la pagas tú, en cómodos plazos, con tus impuestos. Y si algún promotor avalado falla, el crédito para pagar los avales es «ampliable». Ronda sin límite de consumición.

Base legal: RDL 29, arts. 13 y 19.10 · art. 16 (avales, crédito ampliable) · Ley General Presupuestaria, arts. 55 y 59

Y ahora sí, Gaur kalimotxoa, bihar txakolina. Agur, eta ondo izan!

Minuta provisional: unas 2.900 palabras; ciento nueve páginas de BOE entre los dos decretos, que eso ya es deporte rural, categoría harrijasotzaile; tres kalimotxos y una piparra. Recortes: no incluidos, eso es trabajo de aizkolari y se cobra por tronco. El resumen, ya lo dice el bertso, va con comisión. IVA aparte.

P.D. Sí, ya sé que «succionar el ICO» os ha traído a la cabeza cierto aparatito. Diferencias: el Satisfyer cumple lo que promete, no te pide estar al corriente con Hacienda, no necesita comisión rectora y no se queda con tu plusvalía para siempre.

Comas: la máquina. BOE y txakoli: yo. Sátira, como siempre: la onnie sigue sin ser tu abogada; la minuta, en cambio, va en serio.

reddit.com
u/onnie81 — 8 days ago

El decreto, en quince personajes: la amona gran tenedora, el juez telépata y el banco que pacta consigo mismo

Lo útil está en el otro post. Aquí va lo que pasa cuando ciento nueve páginas de BOE aterrizan en la vida de la gente. Los personajes son inventados; los artículos, no. Cada uno lleva su base legal debajo, por si alguien cree que exagero. No exagero. Ojalá.

1. Txema y el burofax de Schrödinger

Txema, casero en Getxo, mandó el burofax de no renovación el 8 de octubre. Un día tarde: el decreto se publicó el 7. Si la Diputación Permanente convalida el RDL 28, le debe a su inquilino doce mensualidades al valor alto del índice; si no, nada. Hasta mediados de noviembre, su burofax está vivo y muerto a la vez. Su abogada le ha cobrado dos consultas: una por universo.

Base legal: RDL 28/2026, disposición transitoria única y final segunda

2. Maite y el mejor negocio inmobiliario de Bilbao

Maite paga 480 euros por un piso en Deusto desde 2006. Si el casero no le renueva, la indemnización no se calcula con su renta, sino con el valor alto del índice de referencia, pongamos 1.050 euros: una mensualidad por cada año que ha vivido allí, o doce si sale más. Veinte años, 21.000 euros. Maite ha descubierto que el mejor negocio inmobiliario de Bilbao es que no te renueven.

Base legal: RDL 28/2026, artículo único (nuevo art. 10.1 LAU)

3. Ainhoa, que no pidió quedarse

Ainhoa cumplía los requisitos para la prórroga obligatoria de dos años, pero no la pidió: se iba a vivir con su novio a Hernani. Cuando el casero le comunica que no renueva, descubre que pierde la indemnización por no haber pedido una prórroga que no quería. Para cobrar por irte, primero tienes que pedir quedarte. El novio dice que se lo podían haber explicado antes de ir a ver pisos.

Base legal: RDL 28/2026, nuevo art. 10.1 LAU, tercer párrafo · RDL 29/2026, DF 5ª

4. Iñigo y el piso con sorpresa

Iñigo compra en Algorta un piso con inquilina dentro, más barato precisamente por eso. Lo que nadie le contó: si algún día no le renueva, la indemnización la paga él, porque el comprador se subroga. Y se calcula por todos los años que la inquilina lleva en el piso, que son diecisiete, casi todos con el dueño anterior. Iñigo se ha comprado un huevo Kinder, y la sorpresa la paga él.

Base legal: RDL 28/2026, nuevo art. 10.1 LAU, último párrafo

5. Unai, que teletrabaja desde Bali

Unai ha pasado siete de los últimos doce meses en Bali, «teletrabajando». Si el casero no le renueva, no hay indemnización para quien no ha vivido en el piso más de seis meses de los doce anteriores, salvo causa justificada, como el trabajo. ¿Bali es trabajo? Lo decidirá un juez de Bilbao mirando su Instagram. Unai ya ha borrado las fotos con la tabla de surf.

Base legal: RDL 28/2026, nuevo art. 10.2.b) LAU

6. El censo de grandes tenedores

Fuera de zona tensionada (dentro, la comunidad puede bajar el listón a cinco), gran tenedor es quien tiene «más de diez» viviendas, y se acredita con un certificado del Registro de lo que hay «a su nombre». Los Etxeberria tienen treinta pisos: diez a nombre de él, diez a nombre de ella y diez en la SL del hijo. Treinta pisos, cero grandes tenedores. La amona de Portugalete heredó once pisos de su hermano el indiano: once a su nombre, gran tenedora. Y el fondo con 4.000 viviendas repartidas en 400 sociedades de diez son, certificado en mano, 400 pequeños propietarios. La amona tiene que poner ahora en sus anuncios «gran tenedor: sí». Está encantada: nunca había sido tan moderna.

Base legal: RDL 29/2026, art. 4 (nuevo art. 3.k de la Ley 12/2023) y art. 20

7. El juez que le lee la mente a un fondo

Para suspender hasta 2030 el desahucio de una familia vulnerable que ha pedido un fondo, el juez tiene que comprobar que el fondo compra barato «con el objeto de eludir los mecanismos de función social de la vivienda o maximizar su rentabilidad» con rentas o reventas desproporcionadas. O sea, tiene que averiguar si un fondo quiere ganar dinero. El juez Aguirre, de Barakaldo, ha pedido una pericial de psicología corporativa. Spoiler: es un fondo.

Base legal: RDL 29/2026, art. 2.1

8. Mari Carmen y su nueva inquilina, la consejería

Mari Carmen tiene un piso en Zaragoza y un inquilino que no paga. El inquilino es vulnerable, así que la administración tiene dos meses para ofrecerle otra casa o pagar la deuda. No hace ni lo uno ni lo otro. Resultado: queda «subrogada automáticamente en la posición deudora del arrendatario», no hay desahucio y el contrato sigue hasta que venza, mientras dure la vulnerabilidad. Mari Carmen ya no tiene un moroso: tiene una consejería. No pone la música alta, eso sí. Los intereses de demora, por cierto, el Estado no se los compensa a la comunidad. Y en Euskadi y Navarra la financiación «se acordará bilateralmente»: hasta el desahucio va por Concierto.

Base legal: RDL 29/2026, art. 5.Dos (nuevo art. 22.6 LEC)

9. Kepa y el paquete de 3.000 pisos

El bloque de Kepa, en Sestao, entra en una cartera de 3.000 viviendas que se vende a un fondo de Luxemburgo. Antes, en una venta así, ni le avisaban. Ahora le tienen que notificar qué parte del precio le toca a su piso, calculada con el valor de referencia del Catastro, y tiene treinta días para quedárselo. Kepa tiene treinta días y 312 euros en la cuenta. TU CASA le prestaría la entrada... cuando exista el Acuerdo del Consejo de Ministros. Que no existe.

Base legal: RDL 29/2026, art. 3.Quince (nuevo art. 25 LAU)

10. Don Jacinto y la temporada eterna

Don Jacinto alquila «de temporada» en Chamberí a la misma inquilina desde 2019: once meses, agosto fuera, y vuelta a firmar. Motivo de la temporalidad: «estudios». La inquilina tiene 47 años y es enfermera; estudiar, estudia: el cuadrante de turnos. Ahora la causa tiene que ser real, constar en el contrato y probarla él; y si se encadenan más de dos contratos, el primero pasa a ser de vivienda habitual, con su prórroga de cinco años. Don Jacinto quiere saber si «el primero» es el de 2019 o el del mes que viene. Yo también. Eso no lo contesto gratis.

Base legal: RDL 29/2026, art. 3.Cinco a Siete (nuevos arts. 7 y 9 bis LAU)

11. Puri y el cumpleaños más caro de Hacienda

Puri alquila por primera vez el piso que heredó de su madre en un pueblo de Soria, sin zona tensionada y por encima del índice. Para los contratos que se firmen desde diciembre: si el inquilino tiene 35 años, Puri se reduce en el IRPF el 85 % del rendimiento; si tiene 36, el 50 %. Mismo piso, misma renta, treinta y cinco puntos de diferencia por un cumpleaños. En los pisos compartidos se reparte por cabezas, así que Puri pide los DNI antes que la fianza. Si Puri fuera de Tolosa, le daría igual: allí la renta es foral.

Base legal: RDL 29/2026, art. 6 (nuevo art. 23.2 LIRPF)

12. Itziar y los cincuenta kilómetros

Itziar vive de alquiler en Logroño y gana 28.000 euros: puede deducirse el 10 % de lo que paga. Salvo que tenga «la totalidad del pleno dominio» de otra vivienda a menos de cincuenta kilómetros. La casa del aitona en Laguardia, que heredó entera, está a dieciocho: sin deducción. Si fuera suya al 99 %, deduciría. Si estuviera en Zeanuri, también. Itziar duda entre regalarle un 1 % a su primo o llevarse la casa piedra a piedra hasta el kilómetro 51.

Base legal: RDL 29/2026, art. 6 (nuevo art. 68.6 LIRPF)

13. Txingudi Capital quiere ser buena y no la dejan

Txingudi Capital, fondo con sede en un buzón, quiere comprar pisos al 50 % de su valor. El artículo 1 se lo prohíbe por debajo del 70 %, salvo que los dedique a alquiler asequible «hasta al menos el 31 de diciembre de 2030». Cuatro años de bondad a cambio de un descuento para siempre, y el artículo no dice quién comprueba la bondad. La otra salida es adherirse al Código de Buenas Prácticas. Que no existe. Txingudi Capital quiere ser buena y no la dejan.

Base legal: RDL 29/2026, art. 1

14. El Estado se vende pisos a sí mismo

Casa 47 recibe en bloque los inmuebles del Estado, de Defensa, de Adif y de la Seguridad Social. Los del Estado van sin tasar previamente, por «el carácter masivo del traspaso»: son muchos. Los de la Seguridad Social se pueden pagar perdonándole deuda con Hacienda: el Estado se compra pisos a sí mismo y paga con lo que se debe a sí mismo. En el txoko, eso es pagar la ronda con la cuenta del de la barra. Y Casa 47 podrá dedicar a vivienda asequible los inmuebles de los Reales Patronatos de Patrimonio Nacional: tu próximo piso protegido, con escudo en el portal.

Base legal: RDL 29/2026, art. 12

15. El becario de las dos uves

Diez mil millones de euros, y no llegaba para un corrector. La comisión que reparte TU CASA queda adscrita al «Ministerio de Vvivienda», con dos uves, y es «interministerial» aunque todos sus vocales salen del mismo ministerio: interministerial como jugar al mus tú solo. La prórroga de dos años, tal como salió en el BOE, cierra unas comillas que nadie abrió. El preámbulo habla de una carencia «hasta finalice» la hipoteca. El del RDL 28 dice que el Congreso tumbó el decreto anterior el 29 de septiembre, que es el día en que se aprobó. Y mi favorito: si un banco vende la hipoteca de un deudor sin recursos y este lo acredita en seis meses, el banco tiene que recomprarla, «salvo que haya acordado con el cedente» otra cosa. El cedente es el banco. El banco pacta consigo mismo. Zorionak, becario.

Base legal: RDL 29/2026, art. 19.11, DF 5ª tal como se publicó y DF 1ª (nuevo art. 25 bis.5 de la Ley 5/2019) · RDL 28/2026, preámbulo

Y hasta aquí los quince. Hay más, pero esos ya se cobran.

Gaur kalimotxoa, bihar txakolina. Agur!

P.D. Me he leído entero el nuevo artículo 12 de la Ley de Hipoteca Mobiliaria. Se pueden hipotecar establecimientos mercantiles, coches, tranvías, aviones, patentes y, desde este decreto, baños prefabricados. El Satisfyer sigue sin estar en la lista. Ni como maquinaria industrial, por mucho uso industrial que le den algunas.

Personajes inventados; artículos, no. Comas: la máquina. BOE y txakoli: yo. Sátira, como siempre: la onnie sigue sin ser tu abogada.

reddit.com
u/onnie81 — 8 days ago

I built my first solo game in 23 days while I was off sick. The puzzle generator was the easy part.

I am not a game developer. I have a day job that has nothing to do with games. A few weeks ago I got sick, ended up with time and no way to spend it, and started building a logic puzzle to keep my head busy.

427 commits and 23 days of coding later it is a real thing that real strangers play. About 62k lines of hand written code plus another 12k of translation tables, 224 tests, nine machines, under a hundred dollars a month.

Two things came out of it. The first is a puzzle generator I am proud of. The second is an analytics funnel I built almost as an afterthought, which turned out to be the most valuable thing in the whole repository, and which I did not learn to read until it was too late to act on what it was telling me. That second one is the part you should steal.

No link in here, I am not selling anything, I have an actual job and I do not need this to earn.

What the thing is, in one paragraph

A floor plan with rooms and furniture, and a cast of suspects, one of whom is the victim. Every suspect gives testimony that constrains where they could have been. "He was in the same column as the chest." "She was exactly five rows north of Ruben." You place every suspect on a distinct square consistent with all the testimony, then you name the murderer. On the harder boards one suspect's entire testimony is a lie, and you do not know which one.

https://imgur.com/a/nmY0acZ

Part one: the generator, briefly, because it is the part that behaved

Brute force is not on the table. An expert board is 9 suspects on 81 squares, which is 94,670,977,328,928,000 placements. So the engine is a small constraint solver: each suspect's possible squares are a bitmask, clues compile to mask operations, propagation intersects until nothing changes.

Generation runs backwards. Build a truth, generate every true statement each suspect could make about it, then add statements until the board is pinned to exactly one answer:

for (const clue of addOrder) {
chosen.push(clue);
if (chosen.length < P + 3) continue;
const { count, capped } =
countSolutions(compile(ctx, chosen, P), 2, NODE_CAP);
if (!capped && count === 1) { unique = true; break; }
}

countSolutions(..., 2) stops at two, because I never need to know a board has 40,000 solutions, only that it has more than one.

NODE_CAP is the subtle one. The search is capped, and a capped count is scored as "many" rather than the partial number it reached. Hitting the cap can therefore only cause a board to be rejected, never accepted. Get that backwards and you ship puzzles with two answers, and players who are right get told they are wrong.

On hard and expert one suspect is an accomplice and everything they say is false. That makes uniqueness much stronger: the player does not know who lied, so what has to be unique is the pair, placement and liar identity, across every hypothesis:

function liarTotal(ctx, clues, P, suspects, limit = 2) {
let total = 0;
for (const L of suspects) {
const { count, capped } =
countSolutions(compile(ctx, clues, P, L), limit, LIAR_NODE_CAP);
total += capped ? limit : count;
if (total >= limit) return total;
}
return total;
}
Anything other than 1 and the board is thrown away.

Difficulty is measured, not configured. The solver has a second mode: propagate until stuck, assume one square for one suspect, propagate again looking for a contradiction. The number of those what-if rounds a board needs is its difficulty. Each level declares an accepted band and generation retries until a board lands in it.

Real numbers, six fresh boards each:

cast cells clues what-if props generate
beginner 5 25 6.8 0.0 2.0
easy 6 36 7.7 0.0 3.2
medium 7 49 9.5 0.3 4.0
hard 8 64 12.8 1.0 5.3
expert 9 81 18 2.0 5.8

Beginner and easy are pure propagation, no guessing ever. Expert costs 884ms because it throws away a lot of boards to find one in band, which is why puzzles are generated ahead of time into a bank.

The furniture is real too. Props are blockers the solver reasons about, which means adding one can silently change the difficulty or break uniqueness. So every prop auditions: place it, re-solve from scratch, keep it only if the measured what-if rounds are exactly what they were.

const baseline = roundsWith();
data.objects.push(
{ id: nextId++, type,
class: 'blocker',
cells: [cell],
dress: 1
});
if (roundsWith() === baseline) {
taken.add(cell);
added++; break;
}
data.objects.pop();
nextId--; // it changed the difficulty: strike it

That is the part I knew how to do. Now the part I did not.

Part two: the funnel, which is the actual point of this post

I put the game on a big HTML5 portal. Traffic went from nothing to about 21,500 people in a week. And I immediately hit a wall that I think almost nobody warns you about.

Portal players send you zero analytics events.

Not few. Zero. My telemetry is consent gated, and a portal build runs inside an iframe where showing a consent banner is both against the rules and commercially insane. No banner means no consent, which means no events. The single population I most needed to understand was the exact population I had no data from. Every analytics dashboard I had built was measuring the small, friendly, already-converted audience on my own site.

The fix is the thing I would most want another developer to take away from this post.

Your game is already writing the data. Use that write.

The client autosaves the game state on every meaningful action. The server was already doing that UPDATE. So I appended one compact tuple to a JSONB column in the same statement, only when the player's own counters actually moved:
[time_ms, placed, xmarks, hints, mistakes]

Capped at 150 tuples so a marathon game cannot grow the row without bound. No second round trip. No new table. No tracking pixel, no third party, no consent question, because this is operational data about the game itself rather than about the person. And crucially it works identically on every platform, including the ones that strip your analytics stack out.

UPDATE games SET state = $1, time_ms = $2, mistakes = $3, hints = $4, trace = CASE
WHEN coalesce(jsonb_array_length(trace), 0) >= 150 THEN trace
WHEN trace IS NULL THEN jsonb_build_array($6::jsonb)
-- only when the player's own counters moved
WHEN trace -> -1 -> 1 IS DISTINCT FROM $6::jsonb -> 1
OR trace -> -1 -> 2 IS DISTINCT FROM $6::jsonb -> 2
OR trace -> -1 -> 3 IS DISTINCT FROM $6::jsonb -> 3
OR trace -> -1 -> 4 IS DISTINCT FROM $6::jsonb -> 4
THEN trace || jsonb_build_array($6::jsonb)
ELSE trace END
WHERE id = $5

Here is what one game's trace actually looks like, straight out of the column. Each tuple is [time_ms, placed, xmarks, hints, mistakes]

[[ 22000,0, 3,0,0],[ 41000,0, 7,0,0],[ 58000,1, 7,0,0],[ 76000,2, 9,0,0], [103000,2,14,0,0],[118000,3,14,0,0],[155000,3,18,0,0],[249000,3,18,1,0], [268000,4,18,1,0],[287000,4,21,1,0],[301000,5,21,1,1],[333000,5,24,1,1], [352000,6,24,1,1],[371000,7,24,1,1]]

Fourteen tuples, about 200 bytes, and you can read the whole session off it. Thirty seconds of pure clue reading before anyone gets placed. Steady progress to three suspects. Then a 94 second gap at index 7 where nothing moves and a hint gets taken, which is the wall. A mistake right after the hint. Then it opens up and the last four go down in 70 seconds. Multiply that by every game on every platform and the funnel builds itself.

Two traps in that statement, both of which cost me real time.

jsonb || jsonb on two arrays splices the right side's elements in. A bare trace || $6 flattens every tuple after the first into loose numbers, and you do not notice until you try to read it back weeks later. Wrap it, so you append one element that happens to be an array.

And the counters are computed server side from the state being stored, not taken from the client. The trace has to describe the row it is attached to, because it is the only thing you will have later.

The four questions, and why the shape of the answer matters more than the number

Once every game carries a trace you can ask questions that a pageview funnel cannot even express. I ended up with four, and each one needs a different shape of answer.

"Where exactly do they get stuck?" Not the average. The mode. "Most people stop after the third suspect" is something you can act on. "The average abandoned game reaches 4.2 suspects" is a number that describes nobody and suggests nothing.

"What does being stuck actually look like?" The gap between consecutive steps, as percentiles, and separately the final gap: how long the board sat untouched before the clock stopped. That last one is the literal shape of stuck. A long tail on the final gap is a player staring at a board they cannot crack.

"How long are the games?" Quartiles, split by outcome. A won game and an abandoned game are two different distributions, and averaging them describes neither.

"Do they finish and then bounce?" Whether a finished game is followed by another one inside 30 minutes, keyed on whoever owned the game. This one is the sharpest instrument in the set, because if players who WIN do not start a second board, your result screen is the leak, and that is a completely different bug from a board being too hard. Without this split I would have spent a week tuning difficulty on a problem that lived in a modal.

Then the board progress buckets, which turn "they quit" into four different diagnoses:

  • never placed. Opened the board, put nobody down. This is a comprehension or a first-impression failure, not a difficulty one.
  • under half
  • half or more
  • all placed, never accused. They solved it and did not press the button. That is a pure UI failure and it is invisible to every metric except this one.

One more that most funnels quietly get wrong: an active game that has been silent for a day is an abandonment that nobody marked. If you only count explicit outcomes, your funnel flatters you. Count the silent ones.

What it actually told me, and why I am annoyed at myself

Here is the pair of numbers that reframed everything.

Of every board that reaches a terminal state, 98% end in a win. The game is not too hard. Almost everybody who finishes, wins.

But of every beginner board that gets started, only 49% ever finishes. And of every easy board, 78% finishes.

Easy is objectively harder than beginner and it completes 29 points better. That looks insane until you see what the funnel is really measuring: beginner is where every new arrival lands and bounces, and easy is where people who have already decided to stay go next. Your entry point measures your bounce rate, not your difficulty curve. I had spent time making beginner gentler. Beginner was never the problem.

The other one, which I found far too late: portals count a "play" from the moment gameplay actually starts. I had a home screen, a difficulty picker and a mode picker in front of the board. Every one of those screens was a person the portal counted as loaded and never played. Deleting all three in favour of dealing a case on boot was worth more than any feature I shipped in three weeks.

And the best bug of the project, which the funnel found and which no amount of playtesting ever would have: on a first ever visit, the app could hang on a blank white screen, and a refresh always fixed it. The app marked itself ready when the session fetch resolved or rejected, and a fetch that stalls does neither. It was in every build I ever shipped. I could never see it, because my browser is never a virgin browser. Your first time visitor is the only visitor who matters and is the one user you can never be.

Here is what my own copy of that card says, 30 days, every source:

  • the step they stop on most often: 1 suspects placed
  • the final gap before they quit: 10s median, 54s at p90
  • boards filled in completely and never accused: 30
  • players who finished a case and started another within 30 minutes: 76%

If you are about to ship your first game, build this before you ship

This is the recommendation, and it is the whole reason I wrote the post.

  1. Build the funnel before you have players. The traffic spike arrives once. You cannot re-run it. Every question you did not instrument in advance is a question you get to answer never. I built most of mine while the spike was already happening, which means I was reading week-old data about a week I could not get back.
  2. Instrument the noun that is specific to your game. Not pageviews, not sessions. For me it was the placement index: which suspect number were they putting down when they stopped. Pick the one number that means progress in your game and record it on every save. Everything good in this post came from that single integer.
  3. Piggyback on a write you are already doing. Do not add a telemetry pipeline. Your game already persists state. Append to that row, in that statement. It costs nothing, it cannot get out of sync with the state it describes, and it survives every platform that strips your analytics.
  4. Assume your best traffic source will send you no events at all. Consent gated analytics, ad blockers, iframes, portals, privacy defaults. Design for the case where the only thing you get from a player is the rows your own server wrote.
  5. Split every metric by outcome and by source before you look at it. Won versus quit. Portal versus site. Every single time I looked at a blended number it told me something false and comforting.
  6. Know what action each answer maps to before the data arrives. This is the one I got wrong and it is the expensive one. I had the funnel. It was correct. It was sitting right there telling me my entry point was leaking half the people who arrived, and I did not know how to read it fast enough to act while the traffic was still there. Write down, in advance: "if the never-placed bucket is above 25%, I do X." Then it is a trigger instead of a chart.

And the actual lesson

The engine was the comfortable part. I know how to write a solver. I did not know that the difference between a game nobody plays and a game people play is almost entirely made of things that happen in the first fifteen seconds, and that you cannot see any of them without instrumenting for them on purpose.

I did not hit the play threshold I needed on the portal in time, mostly because I found all of this about a week too late. It stings a little, but I am not sad about it. The build was hours of good entertainment, the hosting is cheap, the thing is finished, and I am leaving it up for a year regardless of who does or does not approve it.

Respect to everyone who does this for a living. The solver was the easy part.

Happy to go deeper on the solver, the trace schema or the fleet in the comments.

u/onnie81 — 2 months ago

I got sick on vacation in Spain, so I built a murder-mystery sudoku engine that proves every puzzle has exactly one solution — free, in the browser, and I'd love your bug reports

This started as a vacation project that got completely out of hand. I was in Spain this summer, sick for most of the trip, with a stack of murder-mystery logic puzzle books as my only entertainment. I loved them — but a book is finite. You solve the eighty cases and it's over, and the paper can't do the one thing I kept wishing for: let me test a hunch and walk it back. So between naps I started writing a generator, as an exercise, to see if I could build cases that weren't limited by what fits on a printed page.

The technical rabbit hole turned out to be the fun part, so let me lead with that.

The engine. Every case is procedurally generated and then proved to have exactly one logical solution before it's published. The solver is a bitset constraint engine: each suspect's possible squares are a bitmask, testimonies compile into unary and binary constraints, and a backtracking counter verifies uniqueness. But uniqueness isn't enough — a puzzle can be unique and still miserable — so a second, human-style solver replays the case using only propagation plus "what if?" assumption rounds, and the number of rounds it needs becomes the difficulty grade. A beginner case must solve with zero assumptions; an expert case is deliberately selected to need several. If a generated case doesn't land in its difficulty band, it's thrown away and regenerated.

The liar. The harder cases add an accomplice: one suspect whose every statement is false. Generating those means proving uniqueness across the space of "which testimony set do you trust" — the engine verifies that exactly one choice of liar yields exactly one solution, so working out who lies is itself a deduction, never a guess. Some cases also demand the motive, not just the name.

Even the furniture is verified. Decorative scenery is placed by the generator as real obstacles — and every piece is auditioned: placed, re-solved, and kept only if the measured difficulty doesn't move. A bookshelf is never allowed to accidentally turn a hard case into a medium one.

The backend, because I couldn't help myself. It runs on a small fleet of my own boxes across two continents — Postgres with replicas, geo-aware routing on a free Cloudflare plan (a hostname trick, since free plans can't route by geography), self-healing deploys shipped as versioned packages through a private npm registry, and ~90 automated tests that gate every release. Massively overbuilt for the traffic it gets, which is honestly part of the hobby.

How it actually plays: you get a floor plan, a cast, and one testimony per suspect — "she was in the same column as the piano," "he was exactly three rows south of the Gardener." Place everyone, exactly one per row and never two in a column, until only one person could have been alone with the victim. Tap a testimony and the board spotlights what it rules out. There are pencil marks, and a "what if?" mode that lets you place a whole hypothetical line and commit or discard it — the thing paper couldn't do.

The numbers, for the curious: ten shared daily cases every day (same boards for everyone, so times are comparable), from a 5×5 beginner up to a 10×9 expert, across 23 hand-drawn crime scenes, playable in 15 languages (I'm Spanish, so that includes Catalan, Valencian, Galician and Basque). There are printable case sheets if you're a pencil person. It's free in the browser, no download, no account needed.

Play it here: https://kludoku.com

What I'd genuinely love from this sub: play a case or two and tell me what breaks or what feels unfair. Difficulty curve, clue phrasing, whether the accomplice cases feel like deduction or like a coin flip — anything. I ship fixes fast, usually same-day. Happy sleuthing 🔍

u/onnie81 — 2 months ago

Can webgames be approved?

I worked this summer in enabling a sudoku style webgame (Kludoku) and I designed it to self-fund with ad revenue (basically banner and modal during win screens), but it has been rejected twice by Adsense for light content.

Does anyone have a suggestion on how to get it approved? or it is a lost case?

u/onnie81 — 2 months ago

I got sick on vacation in Spain, so I built a murder-mystery sudoku engine that proves every puzzle has exactly one solution — free, in the browser, and I'd love your bug reports

Screenshots & trailer:

https://preview.redd.it/kw1g8e794pjh1.png?width=800&format=png&auto=webp&s=4231ab2fb780fd0320108161c46acf12853fda64

This started as a vacation project that got completely out of hand. I was in Spain this summer, sick for most of the trip, with a stack of murder-mystery logic puzzle books as my only entertainment. I loved them — but a book is finite. You solve the eighty cases and it's over, and the paper can't do the one thing I kept wishing for: let me test a hunch and walk it back. So between naps I started writing a generator, as an exercise, to see if I could build cases that weren't limited by what fits on a printed page.

The technical rabbit hole turned out to be the fun part, so let me lead with that.

The engine. Every case is procedurally generated and then proved to have exactly one logical solution before it's published. The solver is a bitset constraint engine: each suspect's possible squares are a bitmask, testimonies compile into unary and binary constraints, and a backtracking counter verifies uniqueness. But uniqueness isn't enough — a puzzle can be unique and still miserable — so a second, human-style solver replays the case using only propagation plus "what if?" assumption rounds, and the number of rounds it needs becomes the difficulty grade. A beginner case must solve with zero assumptions; an expert case is deliberately selected to need several. If a generated case doesn't land in its difficulty band, it's thrown away and regenerated.

The liar. The harder cases add an accomplice: one suspect whose every statement is false. Generating those means proving uniqueness across the space of "which testimony set do you trust" — the engine verifies that exactly one choice of liar yields exactly one solution, so working out who lies is itself a deduction, never a guess. Some cases also demand the motive, not just the name.

Even the furniture is verified. Decorative scenery is placed by the generator as real obstacles — and every piece is auditioned: placed, re-solved, and kept only if the measured difficulty doesn't move. A bookshelf is never allowed to accidentally turn a hard case into a medium one.

The backend, because I couldn't help myself. It runs on a small fleet of my own boxes across two continents — Postgres with replicas, geo-aware routing on a free Cloudflare plan (a hostname trick, since free plans can't route by geography), self-healing deploys shipped as versioned packages through a private npm registry, and ~90 automated tests that gate every release. Massively overbuilt for the traffic it gets, which is honestly part of the hobby.

How it actually plays: you get a floor plan, a cast, and one testimony per suspect — "she was in the same column as the piano," "he was exactly three rows south of the Gardener." Place everyone, exactly one per row and never two in a column, until only one person could have been alone with the victim. Tap a testimony and the board spotlights what it rules out. There are pencil marks, and a "what if?" mode that lets you place a whole hypothetical line and commit or discard it — the thing paper couldn't do.

The numbers, for the curious: five shared daily cases every day (same boards for everyone, so times are comparable), from a 5×5 beginner up to a 10×9 expert, across 23 hand-drawn crime scenes, playable in 15 languages (I'm Spanish, so that includes Catalan, Valencian, Galician and Basque). There are printable case sheets if you're a pencil person. It's free in the browser, no download, no account needed.

Play it here: https://kludoku.com

What I'd genuinely love from this sub: play a case or two and tell me what breaks or what feels unfair. Difficulty curve, clue phrasing, whether the accomplice cases feel like deduction or like a coin flip — anything. I ship fixes fast, usually same-day. Happy sleuthing 🔍

reddit.com
u/onnie81 — 2 months ago