Archivo de newsletter
Vivir del cuento 6 - El precio del dinero
Sobre el precio de las cosas, código que se escribe solo y como desarrollar desde el coche con Github Codespaces. Esta newsletter es de las largas. Nota: Archivo Este texto form...
Sobre el precio de las cosas, código que se escribe solo y como desarrollar desde el coche con Github Codespaces. Esta newsletter es de las largas.
Nota: Archivo
Este texto forma parte de la primera temporada de la newsletter "Vivir del cuento y no morir en el intento". En diciembre de 2022 Revue, el servicio que alojaba la newsletter, cerró. Lo conservo aquí como archivo histórico.
Hace poco leía un artículo que planteaba un concepto interesante: no pensar en el "precio de las cosas" sino en el "precio por uso".
Esto, puliéndolo un poco, viene a plantear un modelo para determinar lo barato o caro que es algo según la cantidad de uso productivo que vamos a darle.
Bajo este modelo hay cosas que son automáticamente muy caras. Un ejemplo, comerse una hamburguesa y unas patatas en cualquier sitio modernillo. Sueltas 20€ por 30 minutos de disfrute y charla, con un valor nutricional discutible.
Siendo generosos, sale a 40€ la hora de uso "productivo".
Lo comparamos entonces con un MacBook Air de los nuevecitos con el M2.
Dos mil pavos tienen la culpa. Boom.
Ahora bien: calculando que me va a durar tres años, que trabajo unas 45 semanas al año y, siendo realista en mi caso, 5 horas al día, significa que en total le sacaré 3.375 horas de uso. Y este tiempo sí que es productivo, porque con lo que hago, me pagan.
Sale a 0,59€ la hora. Y ahí no tengo en cuenta las miles de horas de Youtube y Netflix que añadiré.
Conclusión: es mucho más barato.
¿Por qué te cuento esto? Pues porque más adelante voy a hablarte sobre Github Codespaces y me ha venido a la cabeza Github Copilot, otro de sus productos.
Por si no lo tienes en el radar, viene a ser un autocomplete con esteroides basado en IA. Aprende los patrones de tu código, lo mete en la batidora con todo el Open Source que hay en Github y la conclusión es de este palo:

Yo escribo el comentario. Copilot escribe el código. 🤯
¿Mola eh? Pues hasta hace nada estaba en Beta. Y era gratis.
Ahora vale 10€ al mes.
¿Mucho? ¿Poco? Pues yo, la verdad, es que le había cogido el gusto. No solo para que se invente código a su bola, también para reproducir patrones fácilmente y muchas cosas más. Otro ejemplo de explosión mental:

Una lista de cosas y un patrón de strings que me invento. Y lo entiende.
¿Qué valor tiene para mi Github Copilot? Digamos que un par de veces al día me evita tener que buscar algo en Google. Me ahorro cinco minutos. Y además me ayuda a escribir código repetitivo, ahorrándome otros cinco. Al final de la semana son 50 minutos. Al final del mes, más de tres horas.
A tres euros la hora.
Mejor pago el Copilot y sustituyo la hamburguesa molonga por una tortilla de patatas en casa.
Desarrollando productos mientras espero en el coche
Como te decía antes lo que te he contado de Copilot viene porque hace poco me invitaron a la beta de Codespaces. Que igual que la de Copilot, en cuatro días la pondrán de pago. Pero mientras tanto nos aprovechamos.
Github Codespaces es, en resumen, una IDE (Visual Studio Code) online, funcionando sobre un servidor en la nube e integrado con Github.
Dicho de otra forma, estando en Github puedes darle a "editar en Codespaces" y se abre el editor en el navegador con un Linux 100% funcional debajo, accesible desde la terminal, pudiendo usar Git, npm, Composer, yarn, lo que necesites. Ah, y también instalar plug-ins de vscode.

El botoncito de crear un Codespace. También, arriba, uno existente.
Funcionalmente equivalente a estar desarrollando en un servidor por SSH pero con ventajas como URLs públicas automáticas para los puertos abiertos en localhost, entre otros.

¡Mira mamá! ¡Quasar CLI en el iPad!
¿Y para que quiero esto? Pues como ya he comentado en algún momento, porque hay que aprovechar las oportunidades.
Y estar en el coche con el aire acondicionado esperado a que el niño acabe de la clase de natación es la definición de oportunidad.
Armado con mi iPad y mucha paciencia creé un repositorio y me puse a probarlo.

No se ve en la foto pero detrás del IDE está el volante del coche.
Y tengo que decir que ni tan mal. El iPad no es el dispositivo ideal para estos menesteres, y menos siendo de 11 pulgadas, pero me dio para perfilar un microproducto que usé como excusa para el experimento, que he finalizado íntegramente en Codespaces, si bien no íntegramente en el iPad, lo acabé en el PC porque tampoco me gusta sufrir gratis con el tecladito amontonao.
Puedes ver el proyecto resultante aquí: un generador de textos outline con degradado a base de hacks CSS de mix-blend-mode y text-shadows.
Y por favor que me perdone mi colega Toni por haberle fusilado su proyecto vilmente. No se me ocurría nada 🤷♂️.
Las conclusiones del asunto
En resumen:
- Codespaces simplifica enormemente el montar un proyecto en local, permite cambiar de máquina sin interrumpir el trabajo y permite desarrollar en dispositivos como iPads o neveras.
- Las máquinas que montan son bastante potentes. Y, siendo gratis por ahora, da gusto.
- Con esto no tienes excusa: con cualquier patataportátil de hace 10 años puedes trabajar.
Pero hay que tener en cuenta algunos detalles:
- Codespaces te da en definitiva un VPS y una IDE. Pero tienes que seguir gestionando tu todo lo demás. Por ejemplo, puede parecer que con CMD+S estás guardando los cambios. Y sí, los guardas. En el VPS. ¡No te olvides de subirlo también al repositorio!
- Está en Beta, y se nota. A veces peta aleatoriamente y, por ejemplo en un iPad sin inspector web, no sabes qué pasa.
- Cuando expones puertos con el típico yarn dev puedes acceder desde fuera sin problemas, pero no es perfecto. A veces se queda pillado en bucles de autoreload y el HMR o los Websockets no acaban de funcionar al 100%.
Y aquí lo dejo que me estoy extendiendo. Espero que esta edición con más chicha y menos coña te haya gustado también.
La semana que viene te prometo un poco más de tontería, que me consta que gusta.
Nos leemos pronto.