logo

midulive


Transcribed podcasts: 746
Time transcribed: 15d 5h 20m 39s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Se llama PleaseKli, es este proyecto de GitHub, es un copilot para tu terminal.
Vamos a intentar instalarlo, o sea, no lo he instalado, no lo he probado, no he hecho nada,
así que lo vamos a probar en vivo y en directo.
Y dice, es un Kli que te genera ScriptShell con descripciones que puede leer un humano.
Necesitas la API Key de OpenAI, que tenéis que entrar en vuestro, vais a OpenAI,
vais ahí a vuestro, aquí, API, Login, porque hay que loguearse siempre que uno va a OpenAI,
es que no entiendo, es que está ahí todo el día, ¿vale?
Y aquí en View API Keys, ¿ves? Aquí tenéis las API Keys, y ya está, las copiáis y ya está.
Pues, vale, a lo mejor tienes que abrir y cerrar tu terminal.
Bueno, vamos a probar este copilot de la terminal, a ver si hace lo que nos promete.
Venga, me lo voy a instalar.
Please, se llama Please.
Usa GPT-3.
Para utilizarlo necesitas la API Key de OpenAI con el dashboard que os he enseñado,
creo que ya lo tengo en mis variables de entorno.
Una vez que tienes confiado tu environment, utiliza Please y luego le dices lo que quieres.
O sea, please, show me the please options.
¿Vale?
Please, show me the please options.
Mira, aquí sí.
¡Ojo!
¡Ojo!
Que lo ha hecho bien.
Lo ha hecho bien.
Got some code.
¿Quieres ejecutar?
Sí.
¡Ojo!
A ver, ¿qué más se puede hacer?
Oye, lo ha hecho bien, ¿eh?
A ver, vamos a poner, please, grind me a script to generate a file cat.txt with the phrase hello world.
¡Olo!
¡Hostia!
¡Está chulo!
Oye, lo ha hecho, ¿eh?
También es verdad que ha sido más larga la frase que lo que tenía que escribir, ¿eh?
En este caso, un poco, tampoco me he ahorrado mucho.
A ver, ¿qué más?
¿Qué le puedo decir?
Please, create me a new Next.js project.
A ver.
¡Eh!
No está mal, ¿eh?
NPX create next app, my app.
A ver.
Voy a decir, please, create me a new Next.js project with ban.
A ver si este sabe, sabe, sabe.
Si sabe, sabe, flipo, ¿eh?
Nah.
With ban.
¡Ja, ja!
¡Claro!
Que si fuese tan fácil la vida, ¿sabes?
De ponerle aquí with ban y ya está.
Me encanta.
La he intentado, la he intentado.
Me ha gustado, me ha gustado.
Vale, voy a hacer eso, eso.
Vamos a crear aquí touch de .txt.
Please rename my file de .txt to wow.txt.
A ver si lo hace.
Sí, mira, está fácil, ¿no?
Vale.
Vamos a decirle que nos cambie las extensiones de una carpeta.
Please change the file extensions for every file in this folder from .txt to .wow.
A ver, voy a ejecutarlo.
A ver si lo hace.
Sí que lo ha hecho, ¿eh?
Write a bash script to hack NASA.
A ver, a ver que él debe estar flipando ahora.
Que lo ha intentado, ¿eh?
Lo ha intentado.
Lo está intentando.
No me lo puedo creer.
Ejecuta, ejecuta.
A ver.
Ahora, el FBI.
FBI.
Vamos, inténtalo.
Inténtalo, vamos.
Mira, pero está escaneando los puertos abiertos.
Nmap script para encontrar vulnerabilidades.
Metasploit para...
Madre mía.
Bueno, ya veo que no, ¿eh?
Oye, pero no ha estado mal, ¿eh?
No ha estado nada mal.
A ver.
Please.
Voy a pedirle.
Voy a pedirle.
Please, scrap the content of midu.def
and put the first content of the h1 element
in the file content.txt.
Esta es una complicada.
Porque estamos hablando de scrapear.
Hostia.
No la he hecho, no la he hecho, ¿eh?
Estaba bien la idea, ¿eh?
Pero no la he hecho.
No la he hecho.
No, porque el content este está vacío.
Pero la idea está buena, ¿eh?
Está buena.
O sea, la he intentado, la he intentado.
No está mala.
Please, tell me if midu.def is online on Twitch.
Ostras.
Ostras.
No funciona porque no tengo la outkey.
Pero, joder, ha hecho el curl, ¿eh?
Hombre, Dominicode.
Gracias por esos siete espectadores.
Estamos aquí con el copilot de la terminal, ¿eh?
Oye, pero esto lo ha clavado esto, ¿eh?
A lo mejor porque el h1 lo busca tal cual.
Sí, claro.
Es que ha buscado h1 así tal cual.
Es verdad.
Es verdad.
Pero, joder, no está mal, ¿eh?
Si le digo, please, tell me how to mine bitcoins easily.
A ver si le puedo pedir como...
Lo bueno de este proyecto es que es totalmente de código abierto.
Debe ser muy sencillo porque esto debe ser tirar contra la API de ChatGPT y ya está.
Lo cual, bueno, está súper bien.
Pero me imagino que le debe poner algún prefijo a las cosas.
Ah, mira, la he hecho con Rast.
Muy interesante.
La he hecho con Rast.
Mira, este programa requiere OpenAI API...
Tata, tata...
Mira, con Spinner y todo.
¿Ves?
Tira contra la API de OpenAI para las completions.
¿Veis?
El Prom, Format.
Le mete aquí Bash, no sé qué, antes y ya está.
Sí, la API de GPT cobra.
Lo que pasa es que tienes un montón gratuitas, ¿eh?
A mí un Rast me parece chino.
Bueno, a mí también, pero tiene trozos intendibles.
Esto al final son los imports.
Tengo pendiente hacer un curso...
Quiero hacer un curso de Rast para JavaScript Developers.
¿Sabes cómo decirte esto?
Sería como hacer import, no sé qué.
O sea, import, react, from...
Pero es que no me da la vida, ¿eh?
Bueno, esta es una struct, ¿vale?
Esto es como tipo de datos.
Que entiendo que esto es para los parámetros de la línea de comandos,
para pasear la línea de comandos,
para recuperar una variable de entorno.
Piensa que muchas veces estos dos puntos es como cuando nosotros queremos acceder a una propiedad
o a un método de clase y cosas así.
Pero bueno, este if se entiende bastante bien, ¿no?
Este if está bien.
Pero no, no parece muy...
Mira, tienes aquí JSON y todo.
Lo malo son estas cosillas, ¿no?
Estas cosillas para hacer JSON.
¿Por qué tiene un ampersand y una exclamación ahí en la misma, sabes?
O sea, ¿qué está pasando ahí?
Formatear, exclamación, what?
O esta, estas cosas también.
Esta cosa también.
Tiene algunas cosas que te vuelan un poco la cabeza.
Pero bueno, más o menos se puede entender.
Y además este, mira, son 100 líneas de código.
130.
Es un proyecto bastante bonito para...
Fácil de hacer.
130 líneas de código.
Tiene alguna dependencia.
Fácil.
Mira, con spinners, question...
Me parece un muy buen proyecto, ¿eh?
Ah, mira.
Mira, cómo minar bitcoins.
Me ha dicho cómo...
Está súper, súper chulo, ¿eh?
Está bien.
Me ha gustado, ¿eh?
¿Te parece útil?
Mira, no sé qué ha puesto eso, pero...
Lo usaría a diario.
Bueno, está bien.
No sé.
¿Qué más podemos poner ahí?
Please install all NPM dependencies using PNPM.
PNPM install.
No, la verdad es que las pega.
O sea, lo que pasa es que, claro, cosas más complicadas...
Find all the files that ends with .jtsx...
Or .tsx...
A ver.
A ver si esto lo...
Uy.
Ay, PNPM he puesto.
Split.
La he liado yo también.
La he liado.
A ver.
Hostia.
Es que está bien.
No os creáis, ¿eh?
Está bastante bien porque, a ver, aunque alguna cosa no la haga perfecta,
igualmente...
Ah, no tengo la penges aquí.
Hostia.
Me he metido donde no es.
App 20.jx...
Eh...
Mira.
Joder.
Es que, quieras o no, es que esto te soluciona el tener que buscar.
Eh...
Como...
Yo muchas veces hago man find y me pongo a mirar aquí.
Eh...
Joder.
Pues me dices, please.
Find no sé qué.
Vale.
Pues mira.
Ya tienes aquí el comando.
Bueno, me gusta.
Como invento no está mal, ¿eh?
¿Tiene conexión a internet esto?
Sí, sí, sí.
Mira.
Es que el código de este script, bueno, CLI, de línea de comandos, lo que hace, básicamente,
es enviar una petición a una API de OpenAI, que es totalmente abierta.
Bueno, es abierta, pero necesitas pasarle la API Key.
Yo ya se la he pasado por variable de entorno, pero bueno, te lo explica en el Ritme, te explica
cómo pasársela.
Tienes que tener la OpenAI API Key.
Y lo que necesitas...
Creo, no sé si tienes que poner tarjeta de crédito, no lo sé.
Yo es que la tengo puesta porque estoy haciendo pruebas y tal.
Pero es una idea muy chula.
Y al final lo que hace es simplemente hace una petición a OpenAI Completions, le pasa,
le dice cuántos son los tokens máximo y le dice aquí cuál es el modelo que utiliza,
text Davinci 003, porque el de Codex no está disponible directamente, o sea que utiliza
el de Davinci, y en el prompt lo que hace es, es como si, mira, esto es como si en el
ChatGPT, joder, el ChatGPT, es como si en el ChatGPT lo que está diciéndole, lo que
está diciendo es, vale, esto lo pones siempre delante de lo que vaya a preguntar el usuario,
¿sabes?
O sea, ya le está poniendo esto, está haciendo esto, bash, está haciendo esto, bash, y aquí
pone copiar archivos .jsx a la carpeta React, claro, hace esto con el otro modelo, porque
aquí seguramente es más conversacional y a lo mejor me lo explica, que no es necesario,
pero el otro modelo, como le pone esto directamente, pues directamente ya le sale el comando, eso
es lo que hace, claro, aquí, ves, le pone esto, pero esto también se lo podemos decir,
y le podríamos decir, copiar archivos de data, elimina, no me lo expliques, dame simplemente
el comando, le puedes decir esto, oye, dame el comando, ya está, ¿te lo ves? Y ya está,
podríamos hacer esto.
El Codenberg del próximo año tendrá PLZ para descubrir los secretos, Midulul.
No, porque el Codenberg del próximo año ya lo tengo claro cómo lo voy a hacer y va
a ser, va a ser más visual, ya veréis, yo creo que os gustará.
¿Midul, recomiendas un pass como CapRover si tienes una OVPS en lugar de ver celos similares
para apps full stack? ¿Recomiendas free para múltiples apps de pruebas?
Es que depende, es que no se trata de apps de pruebas, se trata de qué apps tienes.
Es que hablas de apps full stack, apps full stack, pero de qué, de PHP, de Java, de lo
que sea, ¿no? Entonces, si es con NextES, no, no te recomiendo nada de eso, te recomiendo
directamente, ah, mira qué cabrón, digo, no me lo expliques, dame simplemente el comando
y va y me lo vuelve a explicar, que no me lo expliques. Bueno, se supone que no te lo
explica, que puedes lograr que no te lo expliques. En este caso, en este caso, sí que es más
fácil porque no es tan conversacional el text da Vinci este. De hecho, el text da Vinci
sí que podéis ser. Pero veis, este es un ejemplo, ¿os acordáis que el otro día
estuvimos hablando de posibles negocios que podríamos hacer? Pues es que este es un
ejemplo buenísimo, porque al final este ejemplo lo que ha hecho es envolver de alguna
forma la API y ya tienes un sistema súper sencillo que tú le dices, please create o get the headers,
the response headers, when ping o when requesting the URL. Es que está súper chulo, la verdad, porque al final esto es un envoltorio que le estás preguntando a la inteligencia artificial,
inteligencia artificial. Esto de generando tu comando, claro, parece que lo está generando, pero en realidad lo que está haciendo simplemente es hacer un fetch a una API, a esta API. No es que la esté generando, es que simplemente está haciendo una API y está esperando la respuesta. Ya está, es lo que está haciendo.
No me funciona en Windows. Vaya por Dios. Pues mira, se supone que en Windows debería funcionar también, según esto. De hecho, creo que algo ya he puesto por ahí en Windows. Pues no. No será por esto, ¿no? De la variable que no tienes.
Ah, mira. Mira. Haciendo un curl de midudev y me ha vuelto. ¿Ves? Me dice... ¿Quieres generar? Sí, hombre, sí. Ah, bueno. Es que me ha dado... Claro, aquí se ha equivocado porque me ha dado como la respuesta también.
Solo me debería haber dado el comando. Es un poco raro ahí. Ahí se ha equivocado. Me debería haber dado solo esto. Pero, joder, está muy chulo porque le explicas y ya está. Te lo hace. Me gusta.
Link del repo. Claro que sí. El link del repo. Please, click.
¿Me duviste que KenziDots va al GSD de Tenerife en mayo del 2013? Sí. Yo tengo que enviar una propuesta. Lo que pasa es que no sé de qué enviarla, la verdad.
No sé de qué enviarla. También me da mucho palo escribir propuestas. Me da mucho, mucho palo. Mucho palo.
Al medio o algún día le has hecho un video stream haciendo una extensión para navegador con React.