Diego's Island
ya era hora de que apareciera a cambiar el innecesario tema de halloween. aunque en realidad la hora de hacerlo pasó hace mucho, pero bueno. nótense las minúsculas… me pesa tocar shift para poner las mayúsculas :|
pero no estoy haciendo este post sin ganas, por el contrario, tengo mucho de que hablar. aunque en realidad, es mejor que algunos temas los desarrolle de forma independiente.
primero quiero hablar de la chamba
ok, ahí si puse mayúsculas.
en estos días que estuve desaparecido, no estaba vageando, estaba “chambeando”. entre comillas porque no fue tampoco algo que hiciera 24/7, pero ya me entiendes, estaba ocupado y eso.
resulta que(ya lo dije en mastodon), el antígüo(y primer) cliente que tuve, me ecribió hace algún tiempo, cuando estaba por entrar en la universidad.
en ese entonces me dijo, y resumo sus palabras informalmente:
“Diego, le pagé a una IA 50 dólares para que me hiciera una web nueva, pero ahora no se como ponerla en internet, ¿puedes ayudarme?”
Esto fue un poco gracioso y doloroso a la vez… gracioso porque me recordó mucho al típico meme de:
X: amigo, hice una página con IA, tu trabajo como programador ha muerto Y: a ver, pasame el link X: http://localhost:8080
Pero a la vez fue doloroso que me reemplazaran por una IA(y ni tanto esto) y prefirieran pagarle 50 dólares cuando yo solo cobré 5 :3 (quizás fueron menos, no recuerdo como era la tasa cambiaria en aquel entonces, pero esto si me dolió muchísimo).
Concuerdo en que ese trabajo que le hice a dicho cliente daba un poco de pena, pero vamos bro, que me pagaron 5 dolares xd. Y no me molesta para nada que quisiera algo mejor. Lo que me molestó es la suma que prefirió pagarle a un servicio multimillonario de IA antes que a mí(que l@ conozco de hace buen tiempo)
Pero bueno, decidí que ayudaría a publicar mi reemplazo(por otra limosna, claro). Me pasó el link del repo donde la IA guardó el código y de pronto, FFUUAAA… React y Backend con Django(o Flask, que se yo) por toda la cara. Y yo con cara de payaso porque no se React ni Python :v (y creo que tampoco los quiero aprender) Por supuesto le dije que yo no sabía React ni Python, así que no sería capáz de resolver los problemas que había que resolver para hacer el deploy de la web.
El otro problemilla es que cuando el cliente le dijo a la IA que necesitaba un panel de administración para modificar el menú, olvidó mencionar que no se disponía de servidor, todo el deploy debía trabajar sobre github pages.
En resumen, había mucho que resolver y yo no podía hacerlo. Me dijo que me daba su cuenta en el servicio de IA para que yo le diera las instrucciones necesarias para el deploy(de contra, me hace usar mi propio reemplazo XD), le dije que sí.
Pero llegó el día de entrar a la universidad y yo no pude hacerlo por falta de tiempo, así que le dí una idea de lo que debía decirle a la IA para hacerlo(le dije que le pidiera una integración de Decap CMS).
Pero luego me escribió y me dijo que se le agotaron los 50 dólares de créditos que tenía(y creo incluso que necesitó más, así que fueron 75 ToT) y me preguntó si yo podía hacerle una. Accedí, claro, pero cuando saliera de la uiversidad(que solo fue un mes, por si no lo sabías)
Por supuesto que para el nuevo trabajo debería cobrar más, así que se lo dejé claro. Cuando le dije que le cobraría 25 dólares se quedo así -> :O
Pero Diego, como si me cobraste la primera vez unos centavos, ahora me vás a pedir esto.
Tocó explicarle que era novato y no podía pedir tanto y menos en cuba, pero que mis 25 dólares siguen estando demasiado por debajo del precio normal de el tipo de web que yo le hice. En fin, acepto y en realidad sin tanto meollo de arróz con pollo.
Luego de varias dificultades con la conexión, la grandiosísima ayuda de mi novia haciendo el diseño(porque doy asco en eso, y ella es la tanke) y fixes que necesité hacer para el deploy, la página ya esta live y el panel de administración es funcional(mirala aqui).
Ok, ya hablé de la chamba, ahora hablemos unos disparates. Mientras escribía este post, me saltó una duda: Estaré haciendo esto muy largo, ¿cuántos años tomará leer este post?
Me hago esa pregunta en cada nuevo post que hago. No se por qué.
Pero quería resolverme el problema, no solo para esta sino para las futuras veces que me de toc no saber si me extiendo demasiado.
Así que me dije, bueno, ya es hora de agregar algo nuevo a mi blog, y que mejor que un contador de tiempo aproximado de lectura? XD
yo uso Astro para mi sitio web, y sé que hay una integración para uno sin necesidad de romperme la cabeza. Pero para ponerlo necesito internet y ahora mismo(10 de la noche) no tengo corriente(y por ende, tampoco internet) para instalarlo, así que tendré que hacer uno a mano.
Tomé la propiedad post.body que tiene el contenido de mi post y la pasé por un split(" "), para tener un array con cada string separadas por espacios. Pero aún habían 2 problemas, los saltos de línea(\n) y los encabezados(#, ##, etc)
Para solucionarlo, primero pasé post.body por replaceAll('\n', " ") para luego hacer el split(" ") y luego hacer un filter() de cada palabra, evaluada contra una lista de cadenas de caracteres que no considero palabras(por ahora solo los # hasta 6 y las strings vacías).
Al final, tuve una constante con un array con todas las palabras del post. Pero no sabía que hacer con ellas XD. Primero pense poner el número de palabras y punto, pero pensé que quizás 1378 palabras asustarían a los lectores :v Así que cronometré cuando me demoré leyendo mi post, convertí eso a segundos y dividí la catidad de palabras por la cantidad de segundos para tener que son un aproximado de 3 palabras por segundo(que lento leo, por dios, pero eso fue en voz alta, no a mente -_-).
Así que la versión final en mi blog hace algo así:
Aprox {Math.round(cantidadDePalabras / 3 / 60)} minutos de lectura.
Y listo, así de simple hice un aproximado de tiempo de lectura para mi blog, para que las publicaciones cortas no asusten a los lectores.