cloudflare
tcp/443 tcp/80 tcp/8443
Open service 104.21.63.189:8443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:41 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Dt20maRUdlFqPXprd0LxwwiFQLLVf6T6DeZaglNAJQPeh1MK8OEzJDe3SGs0iX4Gl2Dr0mtCmX8khHRQVuFVwQQN9lAfqWA7plHAMYgLzGT%2B"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=10,cfOrigin;dur=172
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=SNb2bpim7ImC9NFq7ZQKhb8pXZczzpw95hn8FiepoVtu6c0SLEHSeKNwLGb7nmW8IIvbQv2JU09N7Kec3fG7rmWJEndalb04G368D0%2FhbNN8kZU4%2FY9AY3DXnSaawyFjHqWm1OSeT5laTMHuBQMoLpXT7MdsDMxKqnTnQhx28TjkvQtKKoU4c%2BAy4zHhxor66HYqWCOdd%2F5nueDDxsac8EYNwoMTYN1ommyHwqZWQ03T3i5W2bIRTrE7dJeHnLXpJMEJad4X4vTn%2BYYpOCofOdy0QkjChpXR8gZbJ1ID--r%2FF%2F07Z6nX0rJ4E8--9MC%2FvccHgpUoEJcPJKn6hg%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 4bbb764b-7519-41e5-bfa2-fabe10f86aa1
x-runtime: 0.002696
x-xss-protection: 0
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bc0287b3ac58627-SJC
alt-svc: h3=":8443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="L1rCD8gzPcxhsfBUbIb0PXjV8OXDCrngYNauJN9QWjuGieUQ0S080R61e_dZ5NfR-FnyITdcdtd8wmD7eEjgCQ" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ef96dbe8244b437dbe0d1d0704540741","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.63.189:80 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:41 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=qC1XVnWC1sYGcNW8qeXcDTmuts2%2BZJz6FsSeuhCfI0rAJsAonT9RdPsRv2FCa2EBAESEq%2FSr3qjRJkN7uH%2FR8AN5fiDo%2FCQg9Dl5Nvn8cR9%2F"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=12,cfOrigin;dur=267
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=OZYlpPVOBA8%2B0j0nXfvoMk6IhA5SJr61RpBB3frNUHanbQaL4cHuadwN2Cf0MbRupQTSlRf9YAoqAlrD75Mct3878agEcq8xfEqptTkVBEVicNMqkEL8yqx7VyNpYEOgVbHRV3iriRZWG96LOMoN59wN%2FhNMvZuzKCXtMiutCCxzMXX7pLEcksEj20oVvmBrGIIQQ6MTQuuREB5SiJhXb31PC7C%2FVAV%2FkwCd1yr%2BNW7JnWLGTBJMQxVzrUkqmxRXbS7Spu8l2iqbYbST34Xq%2F%2BUUF7FPx9S7ZG3Y4BCz--MiCfZpl5M2fo5VfU--zEMYOK01QrvbbJsd41GE9g%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: bd097266-7b8e-48ab-8411-dc3014420a2d
x-runtime: 0.002509
x-xss-protection: 0
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bc0287e4d0efd9e-SIN
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="V2ccrbJPFozf_ak16JKjPWoLb2NXqhSdm9RzQquREinvqEOIxvIOVvgMhJJsjLZ4nc9OaFZ1duP4UvjAtmAh6w" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ef96dbe8244b437dbe0d1d0704540741","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3035::6815:3fbd:8443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=lbenhEN%2Fk%2FSvu31umu8kTuW5NAYkWsoB9bTN4NG9Z5ACsI6trS4zBrAeqw9t2YdfR9nOb4w%2Bo8YmwAvK%2FE1nA0x2lIsP82hvRwEc%2FD1II1T7CEsqOdAzcxhIwr%2Bh"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=YE3BaFeN80XdLvbo%2BQr2CHnua%2FXq1V6jnYZ%2BQvhZkoX0lRMD%2BVGcyKfqkE%2FqKOEF943h3PRlCuSGV040h0%2FbNFgsoYmGJlyHe0aI7sablzuiirP9n2culBhXtriWM34xVkjeKCTtUw1jkLTSbSOlR2psUmPupynSWaXZPgb8S9p11sAj0VUzt9FL6R25KbIYGWQY1fzF04nn9%2FlPHbKV1XSIG3srlUej0w3a0eyEBmekZq%2F7Ueb006l0vmRShaDk1IN%2Bzr%2Fg07b%2FRl3hbAgVFl9J8yLVyTY7NB0YedWu--JoAdTRyubb2As0zk--p9GCMLaGgUHVFoUdZprXcA%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 7a51fb09-f4ee-4e82-ab87-d1150d93b13e
x-runtime: 0.006571
x-xss-protection: 0
cf-cache-status: DYNAMIC
Server: cloudflare
CF-RAY: 9bc0287ad9ff88c2-LHR
alt-svc: h3=":8443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="_lmohvzV3ATCudINZiX2XUCgd9H6DhbyPfBRN8Qg0gQlHRUNr_7HHzGM9yfnzdGm0ewjXXzi0r6pHZem_U4WWA" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
</body>
</html>
Open service 2606:4700:3037::ac43:abb2:443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=gdZ4ddWRQ4X8XdzF7JroMT3gvgkS9NixbgWDQ79cgq%2BpAW2WHva4cbdVBN%2BMDh0vRcaWnjGwj%2FByhUc0nUW5ulqOckZjFNHcuQxVThzK5OrMIcqCzvR%2BnyFBrJxe"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=13,cfOrigin;dur=78
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=T4oiIqs0rXm4ufv6lURp1Jow2ArnluWMcWjSIjNCXbuUTAkpOJ1MALAsdAqYsk6XjxMwTTE90NzvjwG%2FibTDyLq0b8TYslNquwKgFltTKmoUdl5VsipWvoKKgNYBEuAEI%2BuM72Cj0nA2a75l9XXCbklhJriBDeLQonv2Ox7byMuGcALQrHVz2vRpgCDvytfXQdHkRTXjLLHiwfK5dt39xAynHEiWPtC4AMhA3AmkFuXxoxhj%2Br%2FWQXfR24rtZ6z8Zzz7fWrK1HIEOo8%2F0V2Rh2PzgI3T3%2F5JCESkzP4z--2B3QgVqiM6Tgutk%2B--vgQHCUTV5lWm9n8JA7HEMQ%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 682c68e6-381c-4a03-b3f7-680f474aa010
x-runtime: 0.002651
x-xss-protection: 0
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bc02879899c7ac0-EWR
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="okeXzuPfn4i0h25epUGc3XaZJGnxbtyAE3MPlH-vr7IpOUdMKri-lq1aSaHtALIs_9EafX6Jxs_N3qDI1wjZ6Q" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ef96dbe8244b437dbe0d1d0704540741","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 104.21.63.189:443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:41 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=dVlwZat%2F%2FeMQUefF9QzIz4USRdxt%2Bb8yY%2BUknEMuu%2FzaSrUwGB029uRMVYoTEvLczDgbFY7tQ2D8ZuQILCixEWWlSPC8LU%2B8opaHSR1JOGVu"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=Wy2wTihaapw%2FjfuptFyhxo4m1x%2FsT6tzGwg4BMDD2W289dTVoQAjXIYza2h%2F%2FgJSyloHUlXu880eHlhfJiOfwswWO0Iuu8NZE3Re2V7B%2Fprkk5toHaoEAxHGBCdbZuvfoNvpcCkh4BOi5ju4yM%2BayuwcbReKI6j93Aib%2BvkCNN6AW38XHDbx50lt5BSRQHqK2HG%2BZF%2FGho%2BrDqPBzZDl6jC7mV62hhdvSZdfSWL2CC6dHsD1cOZTWZE6xXSFB%2F9q2jOr%2FgBqvkOSz36EdkO8LfLcMF0U4Q1NB5HZiY3D--UcSx24pp00rJTqLm--h8wGjXJOm6rrKSX5HqZnyg%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 83d8e81e-2da3-416f-a650-cc885fd4d686
x-runtime: 0.003074
x-xss-protection: 0
cf-cache-status: DYNAMIC
Server: cloudflare
CF-RAY: 9bc0287af94ff7ae-FRA
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="bjQ7nBLEK1rnLQkRngUcuiD47NIpuKcYhkRJ9R_jLJAW37YcO6zfJS6xHsC9ku3qzqKPzEIGXolyJF0zkRj7Sg" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
</body>
</html>
Open service 172.67.171.178:8443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=2lkiHhaKFHndT2qAi7KL8xP98ZrydC30Iq2WeCPgjPsJ2UCvIdYzkfoipTNPAjCmcCUFotDTHGLQT8wEqxuXggdmwRieMhEzXSYce5zSZ6q3"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=9,cfOrigin;dur=61
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=9lGGZ%2Buemj7D3tGQYyCxJ4LlZ4PwndOFNNAjKUPcBS4fcVdRavbRmdDsXbHYM1qiwjVvZGYJvnHSKx2GRj38qaen05xpKraKQEu32Dgjm%2Fshy1edclFh33FNZbTfCY%2Bzv8kDZLoovUoHJtO3MCTe%2FDtazfUuFyvBp9TPnAgpbyhP8VCOrwB8FHFpcMpd6wHLE2AY2c1ghW82bqkxKA89TYiau4L8u%2B4Mw%2FQCuYoFVJU21TYkmUKool7AYja%2B0DSOOsrwCzMhnrThUOBMAGhW%2BKUYvzTthMmTYevBAdLi--xlErVGeWswim5PNY--1FV41HBxnWv305LpjHQGzA%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: e512aa35-64a5-4606-ac78-d82a490148d0
x-runtime: 0.002590
x-xss-protection: 0
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bc028793c40a06e-YYZ
alt-svc: h3=":8443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="oQWwV8wLFKT--wogJZAkczgYFx9bc3qMf8-Cso7jSVt40P39D8ExN2rTZwY9vR88ppBZIZBMw9iXYqH_s7ztmg" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ef96dbe8244b437dbe0d1d0704540741","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3037::ac43:abb2:80 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:41 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=3l8bv0f6vnqhwfNcT1muzk4%2BUvBxQFwp2xyFZrUrRrxm3yc9KBJiBP0n4w6Ao2lVV9O0JcV60fqHr791OhK67Qok7%2FohQ%2FTJST5z7sPzcUVcJNXcosTTQpnq752k"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=eayxyoH5%2FSt0K7k%2FXEZlD1KN0baq6juSwM%2FUrj0gr3aIqHKeENn6xuGIl0zXznRjIj6bXn10HsRFsNp8jYfxJQFFycOES65YNwcvUusGrsNjie%2FOlVH345gezAQYIZjAa3aN18d4QZprW%2FLqtGJ3AEiS0NegO7Wpu83YZ5ZE3871DY2RDFA3SoDbfSnhA7PLHUSG5wXNDXnLlfwC584ZlATbbHspm1A8ZcaPOljgyA5hKEnJliOSu5ZqXBKCeSsd%2B4bXGE0WnHhd4ZCpQcuYu4dAHjouhNZMDEuJifZF--bnGrPldrLbtSQta6--nKkmbowEiIzZ%2FZio%2BinqOQ%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 76775728-b06d-443c-88c1-010c7fde5d9c
x-runtime: 0.003716
x-xss-protection: 0
cf-cache-status: DYNAMIC
Server: cloudflare
CF-RAY: 9bc0287abfff19c0-AMS
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="KLSkLZqeZ1LpXSonbGrrUI1jmdl1MLyrREVBYPPnBeRSkT8_1GDh4vNPcEUFqOdcAfhnAKpVzaKfEOie3MTf0w" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
</body>
</html>
Open service 172.67.171.178:80 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:41 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=KW%2Fe92OiMY3enPLbvYQFh2HGHfMuP%2F7LZfBcbSeNDWXn4kIKHvscb%2BZ6gJldPtw%2FbZ2x05hSGahaISC3CVQR5gG8ibHcqM2ZuIc%2FYUaN0KoE"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=rAUltxP5rGBWzX0W25axzd4%2BZLP7dmtYWMsyTiG%2F7st80NW07EJsVVZH9CW30ZDKIV8dM5uw67%2Fcv4ZOQq%2BCUjvqCXv2ic4HAwMiXtfuOlgw9%2BsAoBoa4HH7I%2FYsymA3WFQq5VmnO2%2BT6c8PkjfuUYuXgvgMkU%2F8TWSs32OTPZhulyvhK9J0sxvJpwd0dEFKYRCyhOzaRkbXJ%2FwyM2XtgBxCLGWl80%2FPW95rlTyEO2rjj5zIF9SRahrVxn0EfffuJzr0zuqyAw7KhkZVahKEaMTfM4HC9eSY%2F%2BRHI1T6--%2BjkPSuXcwalbqiDy--eiEVie%2B2%2BCArqJRWZgM0Ww%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: d580250c-3b4e-4da0-b290-f1627ac3a889
x-runtime: 0.002804
x-xss-protection: 0
cf-cache-status: DYNAMIC
Server: cloudflare
CF-RAY: 9bc0287a5a6cf383-LHR
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="FOffoUdg-62cxDVqAa1E8tHVXHlvziPN2BzrljF_g3Q4sclUe_svc7oNZv2KTg5UFVLVrjkk5lZJvPA8AaM4XA" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
</body>
</html>
Open service 2606:4700:3035::6815:3fbd:80 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=ZVe5yV9LsCjM%2BzLwhdkwKvl9tWBXFRY2V1O6tjNOHHLJ8m0lnXBPyqKRd3gWzxeWnkRJIGlTomiwOqSKaMQ67%2Bjw0l1t0neDyDi5P923lLUq%2FJ66Kpq3GUPCENGF"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=22,cfOrigin;dur=183
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=Ek7YoHaQAXPq1KnxyGd49Km9V2HWRuj1mOznQwF6JxR5IjDqLFYPMyxL4tpDXBBPzNnKSc28s8UhE7poSDpNs%2Boo98%2B8SoGeTX7i6PJ1O8YOIHpvgEthAw%2F%2F9cdfo19gLB79hvUUNVesy0X4zb5YUXQfP%2FI20Fkx8nT%2FmNwm48t85FQLPBg9RroeFHdAH6LPBJJTmjCehxebWJWjrQG9ueQ%2FUeucwk3bhy4bVSuwl0%2F7uU%2BIq%2BoGBL4btn2IHhGDjFJbrrj9d1t%2F9NolAhG5AHVKRXFng6uUfHPgE2Ft--iCObdFIVPOSxUYi5--JXziEWYU1GMqwcFjyOTfmg%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 2288b326-d1b6-4f95-bf75-acc245be36e3
x-runtime: 0.002782
x-xss-protection: 0
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bc02879884ab231-SJC
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="X_IZXuj-5ZSbCkdrsUcAy8EVzqKPlXLTAsB8JMyKyxMq4oxbYl_nGf9VTh7A6kRbSUy-ePLmdvi28uZ3oIAjyw" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ef96dbe8244b437dbe0d1d0704540741","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3035::6815:3fbd:443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=Wk3VteQx7S1gTUBmmstVD%2BxTk4uhKwkyCB6VZoRG0XbGg8Ph%2Fy7BNGo9pGogRE408PSoCP2LBWwaiZ6wqnpitXlYD3wKtmRpiAN%2FJ4GRrZXmhPdowpRoir6L2PbE"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=6,cfOrigin;dur=31
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=bwESHnhhUaouz%2BZl1IRrzkta0dbJw8hPj3IjJaFVevoh8NbIjR6p%2ByH1WPW0GSK%2FwQKcUaLRcweBIjE3Uzkua0edQouiYmMSYwmkSU86Vsj%2FKDeQvZ3BlEtL4GZNrDIRGpyzK7HVeuYn1Jq7ip54jsCDKzG1Mb7qu4H5%2F7kXGN5niiGMXB8VTfw9SYqw1EwX%2F2%2FvGlg5vhZEy5hdaecPlI6HPbp37W7M%2FWrtRKTMAXwxQZH2lpMGdy3Ak5ayPcuTjiJzo%2FCF0O78P2XMoLiv3%2FQ2jkFUkbPiYhL9O0BU--C%2BwwKxd9ePM8mj7I--T6w%2FvKVSNZrYh6yFX5yo5w%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: 50413cba-818e-4d1c-8a6c-603ae1fb93a1
x-runtime: 0.002780
x-xss-protection: 0
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bc02878dc52e080-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="dVQH6mFPn7nA9kXf-W9XdWjgM0zwgag5dMdIjZ5MacpuFfexDdBBa8RCv6fiDyqAt2xYCPKXFvaOoAc0bnHVwg" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ef96dbe8244b437dbe0d1d0704540741","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 172.67.171.178:443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:40 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=mU9bwumXpFk64d%2BCOrj83Sii0q%2B7sQaxup%2FdD%2FvMkh0jHSU9KQtItJYQnXmRpmRem1aYGsgw%2Fzxh9WZg7i2DV0yENqOoDVMTheTCKL3ilaL%2F"}]}
Server-Timing: cfCacheStatus;desc="DYNAMIC"
Server-Timing: cfEdge;dur=5,cfOrigin;dur=36
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=9y%2FGkzAWF9Tu0qsve6WzCBbdxC1oXIySb67N3oiJRu661PEE7P%2FsIcxeOzy6IEKuxbW1CT7Hc64FD93QhG3aqcG2GJMFvSE90hfVy%2BIlp3w1srR%2BI4F9j4DMmcsLIdiq7sZZdH4nsOyyrPLIoSxSUNA2q7e%2FaFylwPjDG9JEAjKYM%2Bf6mKi5Utq%2F2mOjwDb70nyray%2FNz%2FWZDY%2FGjxpMlp6dgrW9vdWEsV%2Ba%2BIgs9OfNyDq725XTVEUnMgQaL6eK7iRPWUAeRZQqZB9piCcCvvjX4%2Bchl00XTtBpG8y0--e%2FPxePvhdpAAIYrk--JrQS9AJJg4huzn0kTfh%2Ftw%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: c3f4b14b-e744-4104-aa42-4d163225e3c0
x-runtime: 0.003004
x-xss-protection: 0
cf-cache-status: DYNAMIC
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
Server: cloudflare
CF-RAY: 9bc02878b861ec71-YYZ
alt-svc: h3=":443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="EKyfQ8kps2yHWoIhnwgTZDOU4T3PWg5gV1SHnSnyDN1Hl9px2uRGHCox0rhIkN0hOKmuT2di6w-_EPDRRfoqPg" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
<script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"version":"2024.11.0","token":"ef96dbe8244b437dbe0d1d0704540741","r":1,"server_timing":{"name":{"cfCacheStatus":true,"cfEdge":true,"cfExtPri":true,"cfL4":true,"cfOrigin":true,"cfSpeedBrain":true},"location_startswith":null}}' crossorigin="anonymous"></script>
</body>
</html>
Open service 2606:4700:3037::ac43:abb2:8443 · breakabletoys.com
2026-01-11 00:04
HTTP/1.1 200 OK
Date: Sun, 11 Jan 2026 00:04:41 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Cache-Control: max-age=0, private, must-revalidate
Report-To: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=1qKO1bAm99OaThiO5UAoa1EHJgIWxr5aHVWa1nOn%2BwYuIY3j6lCEcZ7ak0qWFdvlwKHJ4afDmYh31G4655jS3InK9ImW5pmOVBWdWEWgZ2qt60QfXhhDoONqqiYp"}]}
Nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800}
link: </assets/application-8b441ae0.css>; rel=preload; as=style; nopush,</assets/utils-c95204fe.css>; rel=preload; as=style; nopush
referrer-policy: strict-origin-when-cross-origin
Set-Cookie: _breakabletoys_session=YcKHI6aTift0TRdvzy%2BQcYaLXsMrvmI6XjH3eKr0fv1w%2Bd%2F5OMxu%2BX2qkkT44xxx94rFevTUDfyTTaJlvgMgRt4%2BRVD%2FvTDbFQX8h4%2F%2BLTCIGZgXxXE%2BuPxd5bgq6bIwqnBDwteioI9P4zabQ1Pxn4S597uPY2T8d%2B%2FBLlri8ecIPsUs%2FdmAaFMH6wAUmBpAfurLvjix%2FmOCxEmYiECyF6mcLeyOL2Twj0DwYY7e4BVHkITg%2FseT4hqOfcSIyC8M5UyG7aCsmlMVYQxP3ysnMyx9X5Sg24ObJFhxDXXy--bP%2FiX1Oiuo0VV9WQ--XzkdfWEdq2sxPFlsCjVFfA%3D%3D; path=/; httponly; samesite=lax
vary: Accept-Encoding
x-cache: miss
x-content-type-options: nosniff
x-frame-options: SAMEORIGIN
x-permitted-cross-domain-policies: none
x-request-id: e5da325d-6ad0-4357-9d3f-1a8e134b5374
x-runtime: 0.004105
x-xss-protection: 0
cf-cache-status: DYNAMIC
Server: cloudflare
CF-RAY: 9bc0287a5c74284d-FRA
alt-svc: h3=":8443"; ma=86400
Page title: Breakabletoys
<!DOCTYPE html>
<html>
<head>
<title>Breakabletoys</title>
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="application-name" content="Breakabletoys">
<meta name="mobile-web-app-capable" content="yes">
<meta name="csrf-param" content="authenticity_token" />
<meta name="csrf-token" content="VJDe_Np5KtEcIuKAMR18YjsHoqlZr0yjVNiZLIPUNaBqhThOU7zCTZkPbVhwmqBIsSblP3XBkdWaKeDlhYGidw" />
<link rel="icon" href="/icon.png" type="image/png">
<link rel="icon" href="/icon.svg" type="image/svg+xml">
<link rel="apple-touch-icon" href="/icon.png">
<link rel="stylesheet" href="/assets/application-8b441ae0.css" data-turbo-track="reload" />
<link rel="stylesheet" href="/assets/utils-c95204fe.css" data-turbo-track="reload" />
<script type="importmap" data-turbo-track="reload">{
"imports": {
"application": "/assets/application-bfcdf840.js",
"@hotwired/turbo-rails": "/assets/turbo.min-ad2c7b86.js",
"@hotwired/stimulus": "/assets/stimulus.min-4b1e420e.js",
"@hotwired/stimulus-loading": "/assets/stimulus-loading-1fc53fe7.js",
"controllers/application": "/assets/controllers/application-3affb389.js",
"controllers/hello_controller": "/assets/controllers/hello_controller-708796bd.js",
"controllers": "/assets/controllers/index-ee64e1f1.js"
}
}</script>
<link rel="modulepreload" href="/assets/application-bfcdf840.js">
<link rel="modulepreload" href="/assets/turbo.min-ad2c7b86.js">
<link rel="modulepreload" href="/assets/stimulus.min-4b1e420e.js">
<link rel="modulepreload" href="/assets/stimulus-loading-1fc53fe7.js">
<link rel="modulepreload" href="/assets/controllers/application-3affb389.js">
<link rel="modulepreload" href="/assets/controllers/hello_controller-708796bd.js">
<link rel="modulepreload" href="/assets/controllers/index-ee64e1f1.js">
<script type="module">import "application"</script>
</head>
<body>
<nav class="page-menu">
<a href="/">Inicio</a>
<a href="/session/new">Conéctate</a>
</nav>
<h1>breakabletoys.com</h1>
<p>En el entorno de trabajo los errores no están permitidos, y sin embargo a menudo cometer errores es la mejor forma de aprender.</p>
<p>Breakable Toys es un entorno en el que el fracaso está permitido. Un lugar en el que crear sistemas relevantes y útiles para aprender. Un lugar en el que poder aplicar sobreingeniería, aunque sean problemas ya resueltos por otras librerías o servicios. En estos proyectos el fracaso está permitido, porque al único al que afecta el fracaso es a mi (o a ti, si te animas a participar).</p>
<p>Esta web es una oportunidad para ganar un entendimiento más profundo de las herramientas que utilizo a diario y a la vez una oportunidad para crear herramientas que satisfagan mis necesidades mejor que otras alternativas ya existentes.</p>
<p>Como son juguetes, he de pasármelo bien con ellos. Si no es así, lo más normal es que los deje de lado y pase a otra cosa que me divierta más.</p>
<p>También existe la posibilidad de que alguno de estos juguetes sea de utilidad a alguien más que a mi. En ese caso veremos qué hacemos.</p>
</body>
</html>