Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas
Mostrando entradas con la etiqueta javascript. Mostrar todas las entradas

domingo, abril 05, 2026

Vibe Coding en BASIC para AMSTRAD CPC sale (un poco) más caro

¿Qué otra cosa mejor que estar probando Vibe Coding en un sábado por la tarde en las oficinas de Cloudflare en Lisboa para comprobar cuánto de bueno es un modelo programando en BASIC? Sí, eso es lo que quería comprobar. Veréis, hace unos días publiqué el artículo de "Cuánto dinero cuesta hacerte el juego de Light-Cycles de TRON en Workers de Cloudflare usando IA" donde usaba como modelo LLM a Cloud Opus 4.5 para construir el juego de las motos de TRON en TypeScript y poderlo correr en Workers de Cloudflare, y el coste que tuvo hacer ese proyecto fue de 0.5 USD. Regalado.

Figura 1: Vibe Coding en BASIC para AMSTRAD
CPC sale (un poco) más caro

Pero, la pregunta que me rondaba era... ¿sería igual de barato hacerlo en lenguajes menos populares que Python o TypeScript? Ya me he pegado varias veces con el Vibe Coding, y supongo que muchos de vosotros habéis pasado por esa fase donde el código no funciona como quieres, da errores, o directamente una modificación te cuesta la vida. Así que en lenguajes menos "mainsteam" la cosa será peor. Esa era la pregunta con la que me puse a echar un rato ayer sábado. 

Basta con preguntar en cualquier sitio y se ve que Claude programa mejor en Python, JavaScript, TypeScript, y frameworks para tecnologías web, que en el resto de los lenguajes, lo que hace que le cueste un poco más, ¿pero cuánto de más?

Figura 3: Con qué lenguajes programan mejor los modelos de Claude

Para hacer la prueba, quise hacer el mismo juego de Light-Cycles - no está mal como Benchmark - pero en BASIC, así que le pedí un Pormpt, que optimizado por Gemini, es éste que tenéis aquí. Así que, una vez Prompted, se supone que el resto es probar y ver resultados. Primero hice las pruebas con el propio Gemini, así, ligeras, a ver si el código funcionaba bien a la primera, y la verdad es que no hubo suerte.

Figura 4: Prompt par hacer el Light Cycles en AMSTRAD

Además de TypeScript, había hecho una versión pequeña del mismo juego de Tron Light-Cycles con Bash usando Gemini para mi MacOS y me lo había hecho bastante bien y de forma rápida, pero con BASIC le estaba costando.
Además, cada prueba que quería hacer la tendía que hacer en el emulador, así que el proceso incluía la creación de un disco virtual, usando Amstrad DSK Filesystem Manager.
La verdad es que la herramienta funciona de maravilla, pero hay que asegurarse de que el código que subas tenga el formato CRLF para que no se trunque, y que el formato del DSK que crees sea compatible con AMSTRAD, así que hay que hacerlos de, por ejemplo, 40 pistas, 9 sectores, y 512 bytes por sector.  Una vez hecho esto, ya puedes subir el programa al disco, y descargarte una copia del fichero .DSK que luego vamos a poder meter en el emulador. El proceso no es complicado.

Figura 7: Los disquettes de AMSTRAD

Eso sí, por cada cambio que hagas tienes que repetirlo, así que si el Vibe Coding no funciona bien a la primera, pues hay que hacerlo muchas veces. 

Esto nos lo sabemos ya de cuando con el equipo de Ideas Locas hicimos el BASIC 1.0 Copilot para AMSTRAD CPC 6128 que os conté hace un par de años en la RootedCON.
En mi caso, una vez construido el DSK, el emulador que utilicé fue el de CPCBox que está online, y puedes cargarle el DSK fácilmente. Además, esta versión la tienes con muchos juegos. Aquí os dejo un vídeo de cómo funciona con los juegos clásicos con los que estuve enredando un rato.

También con juegos clásicos como el Bombjack o el Ikari Warriors

Pero volviendo a la prueba. Haces el código con OpenCode/Gemini/ChatGPT, generas el DSK usando Amstrad DSK Filesystem Manager y luego cargas el disco en CPCBOX. Una vez allí, CAT para ver el contenido del disco, LOAD para cargar el programa, y RUN para ejecutarlo. Y a jugar. El resultado completo lo tenéis aquí.

Figura 11: El resultado final. El Light-Cycles en BASIC
para el AMSTRAD CPC 464/664/6128

En este caso, después de que Gemini me fallara varias veces, decidí ir a por OpenCode y así podría comparar bien los precios que me costaba hacerlo funcionar. Y el proceso tomó su tiempo. Si os digo que me tiré un par de horas para hacerlo funcionara, os podéis hacer una idea.

Figura 12: Los costes después de 2 horas

Al final dejé algo bastante digno, como podéis ver en el código, pero si miramos los costes que me llevó hacerlo con OpenCode a través del AI Gateway de Cloudflare, podéis ver que en comparación con TypeScript, el coste fue mucho más alto. 

Si he de ser justo, he de decir que también se lo puse difícil, porque Locomotive BASIC y para emuladores, no debe ser lo que más líneas de código tira y lo que más tokens consume. De hecho, creo que debería ser yo de los pocos que estuvieran con eso un sábado por la tarde.

Figura 13: OpenCode con Claude Opus 4.6 "sufriendo"

Eso sí, poder crear juegos para AMSTRAD CPC a golpe de Vibe Coding es mejor que tener que copiar los códigos de la MicroMania como hacíamos en la niñez, que os aseguro que eso sí que tomaba tiempo, hasta que lo tenías fino completo.

Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los postspapers y charlas que se han  escrito, citado o publicado en este blog sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


lunes, febrero 23, 2026

Cloudflare Radar URL Scanner

Ya os he hablado de Cloudflare Radar varias veces. Como herramienta de OSINT o para saber cómo evoluciona Internet.. Lo hemos usado para ver cómo está evolucionando el uso de Post-Quantum Cryptography en Internet, o para revisar las Non-Human Identities en forma de bots que están crawleando Internet. Hoy os hablo de una pequeña utilidad que tal vez os sirva alguna vez, para revisar la salud de una web. En este caso, se trata de Cloudflare Radar URL Scanner.
La herramienta la tienes dentro de Cloudflare Radar, y está disponible para todo el mundo. Basta con que te vayas a la sección de Herramientas - URL Scanner, e introduzcas la URL de la que quieres tener información.
En esta pantalla se puede configurar la URL a escanear, o se puede buscar en escanéos realizados durante los últimos 7 días. En la parte de búsqueda, se puede buscar informes donde aparezca una determinada dirección IP, un determinado Path, una IP, un ASN (Autonomous System Network), un dominio, una URL o hasta un determinado hash. 
Si miramos la parte de Additional Settings, podéis ver cómo se puede hacer un URL Scanner eligiendo el USER-Agent que se quiera, o incluso añadiendo Custom Headers para lograr revisar determinados comportamientos, que muchas veces hace que cambie radicalmente el resultado del informe.
Yo lo he probado con elladodelmal.com y el resultado es bastante curioso. Como podéis ver en esta primera imagen, te da información general del sitio, en este caso con el USER-Agent por defecto de un Web-browser, como se puede ver en la captura de pantalla que ha hecho.
Como podéis ver, te da información general, tecnologías utilizadas, y ranking en tráfico de este dominio. En el caso de este dominio, en el Top 200.000, lo que me hizo preguntarme si eso era mucho o poco. Así que le pregunté a Gemini cuantos dominios había en Internet, y no está mal.

Figura 6: En Internet hay 375 Millones de nombres de dominios

En el informe aparece también información de seguridad del domino, a ver si ha sido denunciado y tiene alguna categoría peligrosa. No es el caso de este blog, además de traer la lista de certificados que se transfieren para cargar el contenido. En este caso, como incluí algún contenido desde mi cuenta Instagram, se cargan esos certificados.

En el apartado de Network tenemos información de las URLs que se solicitan durante la carga de la página, así como de el tipo de contenido, de qué dirección IP se descarga y el tamaño de dicho contenido, lo que te ayuda a optimizar tu página web.
Además, URL Scanner se lee el contenido de la página web que se carga, y extrae todos los enlaces que se pueden ver en ella, lo que puede ser útil para detectar relaciones entre webs, o ataques escondidos en una determinad URL.

La última parte que os traigo con captura es la de Behavior, donde de analizan las cookies y los valores de las variables declaradas en Javascript, que puede ser de utilidad para analizar el comportamiento de una web ante determinadas configuraciones.


El informe de Cloudflare Radar URL Scanner tiene aún más secciones, y si lo pruebas con diferentes URLs públicas seguro que encuentras cosas curiosas, pero yo lo he hecho con mi dominio para que todo quede en casa. No obstante, te animo a que lo pruebes con diferentes sitios, te sorprenderá.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


domingo, febrero 22, 2026

Cómo salir del cuadro de dialogo que te ha bloqueado Blogger porque te quedaste sin Internet

Que yo publico todos los días es algo que podéis ver en los artículos del blog diariamente. Eso me obliga a tener que conectarme desde cualquier ubicación, ya sea en medio de las montañas, en países de todo el mundo, en mitad de una ciudad, un avión, o en el medio del mar mientras me mecen las olas. Y por supuesto, muchas veces tengo problemas con la conectividad mientras estoy trabajando.

Figura 1: Cómo salir del cuadro de dialogo que te ha
bloqueado porque te quedaste sin Internet

En estas situaciones, me he topado muchas veces con un problema con Blogger. Me permite trabajar off-line bastante bien, pero tiene un par de situaciones de "Deadlock" en las que me quedo bloqueado sin poder grabar el contenido. Como eso me obligaría a re-escribir el artículo completo, aprendí un workaround que es lo que os voy a contar hoy.

Figura 2: Escribiendo un post en Blogger tranquilamente

En la imagen anterior estoy escribiendo un post en mi blog, tranquilamente. Tengo conexión a Internet - o no -, pero sigo trabajando tranquilamente. De repente, quiero poner un enlace y no me doy cuenta de que estoy sin conexión a Internet, y entro en un "Dead-end".

Figura 3: He querido poner un hipervínculo y sin conexión no puedo hacer nada.

En esta situación, la opción de "Apply" no está funcionando, y la tecla de ESC - mi querida tecla roja - no está funcionando, así que no puedo tocar nada más del interfaz. En mi primer incidente de este tipo, restauré la conexión a Internet, esperando que se activara la opción de "Apply", cambiando el enlace varias veces, pero nada.

Figura 4: Una vez roto el cuadro de diálogo, ni con Internet se arregla

Así que automaticé un workaround que, como me ha pasado estos días, os lo cuento hoy. No hay más que entrar en las herramientas de Developer en Google Chrome y buscar el cuadro de diálogo en la sección de ELEMENTS, que está dentro de un DIV y que en el UX se ve resaltado en azul y con el DIV asociado.

Figura 5: Elimina el DIV del cuadro de dialogo y listo.

En Blogger no es suficiente, porque hay una capa que bloquea el acceso al resto del interfaz incluso una vez que hayas borrado este DIV. Así que con un poco de paciencia, encuentras el bloqueador y a borrarlo.

Figura 6: Borra también la capa que bloque el UX

Una vez que hayas borrado estos dos elementos, ya puedes volver a disfrutar del IU, en este caso, de Blogger, y una vez restaurada la conexión, guardar todos los cambios que hayas hecho mientras el equipo estaba off-line.

Figura 7: El UI de Blogger restaurado para que guardes tus contenidos

No sé si esto te ayudará en alguna ocasión, pero a mí me ha salvado la vida varias veces, al evitar que perdiera el trabajo que tenía hecho mientras estaba off-line, porque estos cuadros de diálogos no están preparados para el modo off-line. ¿Es un bug de UX? Pues sí, creo que deberían arreglado, pero llevo tanto años en Blogger que hasta me he acostumbrado a sus límites.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


miércoles, enero 24, 2024

JORNADAS_ABIERTAS: \\ Tu futuro es la programación #HackYourCareer

Hoy quería invitaros a la iniciativa de nuestros compañeros de GeeksHubs Academy, donde vas a poder disfrutar de 4 clases gratuitas para comenzar a programar. Es decir, 4 sesiones para que te pruebes en algo que seguro que has pensado muchas veces: Aprender a Programar y cambiar tu futuro profesional

Pues ahora lo puedes probar gratuito en estas 4 sesiones con el gran David Ochando, que es uno de los grandes formadores de GeeksHubs Academy, y que te va ayudar a comenzar pasito a pasito en este mundo de la programación. De ser Developer.

Figura 2: David Ochando, Senior Full Stack Developer y Docente en

Las sesiones comienzan el día 25, y tienes un calendario con una sesión cada semana, para que el mes que tienes por delante puedas ver si estás hecho o no para ser programador, que ya verás que todo el mundo puede programar. Aquí vas a ver cómo sí que puedes.
Para poder asistir solo debes apuntarte en el siguiente formulario, así que date prisa, resérvate el hueco en la agenda estos cuatro días a partir de las 18:30 de la tarde y date el gustazo de comenzar a programar.
Y si tienes alguna duda aún para decidirte, respóndete a estas preguntas que seguro que en tu cabeza tienen una respuesta clara.
Yo te recomiendo, si quieres probar a ver si vales, no vas a tener una mejor manera de hacerlo en mucho tiempo, porque son 4 sesiones con una gran docente que te va a ayudar a dar los primeros pasitos, y verás como te sientes sabiendo que puedes "codear" y "crear" cosas con tus manitas.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, noviembre 24, 2023

Si te lo estás pensando, es el momento de dar el salto: Hazte developer #HackYourCareer

Elegir tu futuro profesional es una de las decisiones más importantes a las que a todos nos toca enfrentarnos. Hay gente que tiene muy claro desde muy pronto a qué quiere dedicarse en la vida y para ellos no hay elección: el camino ya está marcado. Pero para todos los demás, simples mortales, que no sentimos esa "llamada", o incluso aquéllos que ya tomaron su decisión hace tiempo pero sienten cierta inquietud de fondo, una vaga sensación de no terminar de estar en su sitio y querer cambiar de rumbo, vengo a poner sobre la mesa la opción de convertirse en desarrollador de software.


"¿Por qué desarrollador de software y no cualquier otra cosa?"

Pues hay tantos motivos como personas, pero voy a intentar reflexionar acerca de algunos de los puntos clave que desmarcan este campo del resto, y de forma muy positiva y significativa (ni siquiera vamos a mencionar más que sutilmente y de pasada en esta línea que vivimos en un mundo cada vez más digitalizado, y por tanto con más oportunidades, de calidad y bien remuneradas).

Lo primero y más destacable del mundo del software, es que aquí el trabajo que hayas realizado queda objetivamente registrado a través del uso de tecnologías de control de versiones como Git o Mercurial. Cada modificación que "guardes" quedará publicada y accesible con todo el contenido que hayas creado, así como la referencia al autor de los cambios, y la fecha afinada a la hora, minuto y segundo en que ocurrió. Tuya es la responsabilidad, y tuyo es el mérito.

Figura 2: Hay tantos motivos como personas para ser developer

Lo segundo e igualmente relevante, es que es posiblemente el único campo en el que no importa quién eres ni qué títulos académicos traes. Hoy en día el valor de una certificación oficial es cuestionable, ya que no avala más que el haber tenido acceso a una información que cualquiera tiene al alcance de la mano con Google. No refleja cosas mucho más importantes como la aptitud o, más aún, la actitud.

Tercero, la comunidad. En sus orígenes el Software Development estaba reservado a unos pocos genios con amplios conocimientos matemáticos y de ingeniería, pero generación tras generación y con gran esfuerzo colectivo se ha hecho infinitamente más accesible, de forma que cualquiera que quiera y esté dispuesto puede introducirse en este mundo. Y esa filosofía de cooperación, de compartir dudas y código, sigue viva hoy día.

Por último, y quizá esto sea lo más valioso en el día a día: todo el código que escribas, todo lo que produzcas, podrás verlo en funcionamiento en tiempo real. El viejo “¿Y esto para qué sirve?” aquí no tiene cabida. Cada programa que diseñes, o cada pequeño componente que implementes, lo tendrás funcionando frente a ti. Artesanía digital.

“Genial… Pero el mundo del software es amplísimo. ¿Por dónde empiezo?”

¿Mi recomendación? Full Stack Developer. En síntesis, se trata de la figura del desarrollador de aplicaciones web que conoce y maneja todas las tecnologías involucradas en todos sus aspectos. La contrapartida serían el Frontend Developer, que se encargaría sólo de la parte visual del lado del cliente (no sólo del diseño, sino de que las piezas funcionen), y el Backend Developer, especializado en gestionar el lado del servidor y las bases de datos.

Iniciarte en este mundo como Full Stack Developer te permitirá entrar en uno de los campos más activos, pero también uno de los que más gratificantes resultan. ¡Entras sabiendo crear aplicaciones completas por tu cuenta! Además, cuentas con una buena perspectiva global con la que ir afinando hacia el sector que más te guste. Y aunque al principio pueda resultar un poco intimidante, los lenguajes empleados en desarrollo web, como JavaScript o PHP tienen una sintaxis y vocabulario muy humanos y un buen código casi puede leerse en inglés.

Visto el “dónde”, ya sólo nos quedaría hablar del “cómo”. Cómo dar el salto y despegar en el mundo del desarrollo Full Stack. Y para mí la respuesta a día de hoy es clara: es un mundo que da pie a ser autodidacta y no faltan cantidad de recursos de apoyo y tutoriales online, pero cuando tomes la decisión en firme nada superará realizar un Bootcamp Full Stack Developer

Figura 4: Todos los alumnos tendrán el libro de Spring Boot & Angular 1: Desarrollo de WebApps Seguras de 0xWord y 500 Tempos de MyPublicInbox.

Son cursos intensivos a tiempo completo, con un coste cercano al de una carrera universitaria, pero en lugar de dedicarle 5 años su duración suele estar entre los tres y seis meses. Simulan un entorno de trabajo real, con plazos y entregas, impartidos y asesorados por desarrolladores y expertos IT, por lo que siempre se mantienen actualizados con el mercado. Debido a lo cortas que son las formaciones, es una experiencia dura a la que hay que ir a comerse el mundo. Esa actitud de estar dispuesto a hacer frente a lo que sea, sacrificando tardes y noches te permitirá salir con las competencias necesarias (y proyectos realizados que las avalan) para entrar por todo lo alto, con los deberes hechos, al mundo del desarrollo de software.


Es a través de ese esfuerzo, y esa determinación, que seas quien seas y vengas de donde vengas, podrás acceder a ese mundo que te espera allí. Del 20 al 27 de noviembre GeeksHubs Academy está de Black Friday y puedes conseguir hasta 1.300€ de descuento para formarte como Full Stack Developer. 

¡Aprovecha esta oportunidad y da el paso!

Autor: Demian Ortizlanzas, Docente Full Stack Developer en GeeksHubs Academy.

jueves, abril 20, 2023

#HackYourCareer convirtiéndote en Frontend Developer y comenzando a trabajar ya con @GeeksHubsAcademy

La iniciativa de #HackYourCareer que comenzamos con Chema Alonso tiene el único objetivo de que los alumnos acaben trabajando de lo que quieren trabajar, sin ser una barrera los conocimientos que tengan al inicio de su periodo formativo. Para eso, las formaciones más intensas son nuestros "Bootcamps" o campos de aceleración formativa que hacemos de manera muy intensa con los alumnos, que pasan a vivir durante la inmersión solo pensando en el objetivo. Alcanzar los objetivos del BootCamp para entrar a trabajar en esa disciplina profesional en el menor plazo posible.
Como dice Chema Alonso, "hay cosas que se aprenden aprendiendo y cosas que se aprenden haciendo", y en nuestros bootcamps de la iniciativa #HackYourCareer implantamos de forma intensa las herramientas necesarias para que puedan aprender haciendo lo antes posible, y en un entorno deseable, acaben trabajando en equipos tecnológicos como los de Chema Alonso, que tiene abiertas un buen número de vacantes.

Como queremos llegar al máximo posible de personas, hemos decidido hacer un nuevo formato de BootCamp Online, donde vamos a tener el mismo nivel de inmersión, pero haciendo las sesiones Online y Full-Time, similares a los entornos de trabajo remoto o híbrido que tienen, por ejemplo, unidades como la CDO de Chema Alonso, y cada vez más empresas, donde los equipos cuentan con personas distribuidas geográfica.


Para ello, comenzamos con un NUEVO Bootcamp Online Frontend Developer, en modalidad 100% Online y Full- Time con el objetivo de encontrar un nuevo empleo en este sector profesional, que dará  comienzo el próximo 15 de mayo y durará 10 semanas. Eso sí, para que funcione esta modalidad, tiene que mantener el espíritu de un BootCamp, así que son grupos reducidos con plazas limitadas para que los docentes puedan estar encima de los participantes en todo momento. 

Además, con el objetivo de entender mejor cómo funciona este mundo profesional, todos los asistentes tendrán una sesión de Q&A con nuestro compañero Chema Alonso, que vendrá a resolver dudas de cómo funcionan los equipos de alto rendimiento de creación de tecnología para que puedas conocer de primera mano en qué consiste este trabajo.

Figura 5: Visita y charla de Chema Alonso al BootCamp de Frontend Developer

Y podrás completar tu formación preguntando a profesionales con Tempos de MyPublicInbox que te vamos a entregar, y seguir formándote con un libro de la editorial de 0xWord, y con una matrícula gratuita de Curso Online de Programación de GeeksHubs Academy para que sigas formándote de manera continua.
El trabajo de nuestro equipo docente consiste en ayudarte a interiorizar los hábitos de trabajo y formación continúa de los profesionales tech que dedican su actividad profesional a la creación de tecnología, y para ello deberás tener siempre activo el bit de aprender. Y para resolver las dudas que puedas tener, te dejo respondidas estas cuestiones que pueden pasar por tu cabeza.

Desde Cero

- ¿Cómo funciona?

Este Bootcamp es especial, ya que adapta la modalidad full-time presencial de nuestra coding school y la traslada al formato ONLINE. Es decir, requiere de una dedicación completa y el alumnado recibe el mismo acompañamiento exhaustivo por el equipo docente, desde casa. El horario del Bootcamp es intensivo, durante 10 semanas, de 9h a 18:30h (de lunes a jueves) y de 9 a 14h (los viernes).

Figura 7: David Ochando, José Marín y Daniel Tarazona son parte del equipo docente

- ¿Para quién es el Bootcamp Online Frontend Developer?

Está pensado para formar desarrolladores web que aprendan HTML5, CSS3, Bootstrap, JavaScript, Typescript, React, Redux, etc, para que sean capaces de desarrollar una aplicación web en la parte Frontend, trasladando el diseño a lenguajes de programación, teniendo en cuenta la experiencia de usuario (UX/UI) y asegurando la funcionalidad, eficiencia y seguridad con conocimientos sobre Calidad del Software y Testing. Para acceder al Bootcamp no se necesitan conocimientos previos, pues los primeros bloques están dedicados a la introducción al desarrollo de software y las herramientas que debe conocer el alumno/a (VSCode, Git, GitHub…).

- ¿Por qué destaca la modalidad presencial de GeeksHubs Academy y qué tiene que ver con este nuevo Bootcamp Online?

Porque la metodología de aprendizaje pone al alumno/a en el centro. A través de proyectos todas las semanas se recrea un entorno de empresa tecnológica real, dónde la actitud y autonomía son indispensables. Tenemos más de 6 años de experiencia impartiendo Bootcamps presenciales, en los cuáles el 94% ha encontrado un nuevo empleo. En este nuevo Bootcamp Online la didáctica y metodología se mantiene para que el alumnado reciba el mismo nivel de acompañamiento que si estuviese en un aula presencial de GeeksHubs Academy.

- Una vez finalizado el Bootcamp… ¿Cómo ayudamos en la búsqueda de empleo?

Disponemos de un amplio abanico de empresas con las que trabajamos y que demandan talento, por lo que al finalizar, incluimos al alumnado en nuestra bolsa de empleo específica para que empiecen su carrera profesional como developer. Durante la formación nuestro equipo especializado asesora a nuestro alumnado, preparando los procesos de selección y mejorando sus soft skills.

- ¿Por qué elegir GeeksHubs Academy?

En GeeksHubs Academy sabemos que la pasión, el hambre y las ganas van por delante de cualquier cosa, y eso es lo que diferencia a un buen profesional. También sabemos lo que necesitan las empresas y estamos convencidos de que el valor diferencial está en la actitud.

La experiencia de formación de nuestra coding school va más allá de las competencias técnicas, buscamos impulsar tu carrera y acompañarte durante el camino para que crezcas como profesional y consigas todo lo que te propongas.

Contamos con un equipo de docentes tan entusiastas como exigentes con el objetivo de hacerte brillar y sacar todo tu potencial, así como un equipo de atención al alumnado dedicado exclusivamente al bienestar de cada estudiante.

Nuestra trayectoria de más de 10 años, los más de 1.000 alumnos y alumnas al año que pasan por nuestra coding school y la confianza de numerosas empresas que amplían sus equipos IT con el talento que se forma en GeeksHubs Academy evidencian nuestro éxito como escuela de programación que está cambiando el paradigma de la educación tech.

Hack Your Career!

Autor: Chaume Sánchez, CEO de GeeksHubs


miércoles, enero 25, 2023

Entrevista Carlos Azaustre: Microsoft MVP en Developer Technologies

Hacker & Developer. Una vida unidos, una vida separados. Y es que cuando te dedicas a buscar vulnerabilidades en el software, te dedicas a buscar posibles fallos en la construcción de un software. Una condición no controlada. Una situación que no existía en la mente del programador, una característica oculta en la tecnología utilizada por del developer para localizar un fallo.

Figura 1: Entrevista Carlos Azaustre - Microsoft MVP en Developer Technologies

Si embargo, entre hacker & developer hay una relación de amor/odio. Creo que existe una mezcla de admiración y respeto por lo que cada uno es capaz de hacer, aunque sea malo y doloroso para el otro. Da mucho coraje cuando developer bloquea a hacker con una protección. Y supongo que a developer le duele que hacker encuentre la vulnerabilidad. 
Pero, yo fui developer antes que dedicarme a buscar fallos en la tecnología, y por eso siempre amaré a los que tiran líneas de código como forma de vida para hacer que algo resuelva un problema. Hoy he entrevistado a Carlos Azaustre, uno de esos developers. Uno de los que tiran líneas para solucionar problemas. Y que además se dedica a enseñar y a ayudar a otros developers a aprender. 
Ha publicado un par de libros para aprender JavaScript y Angujar.JS, y ayuda a los que quieren aprender a programar desde su canal en Youtube y en Twitch, y por todo su trabajo ha sido reconocido como Microsoft MVP en Developer Technologies. Vamos, un divulgador nato.
Como aprender a programar es algo que, seas hacker o developer, debes saber en alguna u otra medida, le he hecho una entrevista para que nos dé su punto de vista sobre el estado del aprendizaje de la programación hoy en día, sobre cómo ve él la incursión de ChatGPT o CoPilot, y conocer un poco más a uno de los desarrolladores premiados por Microsoft. Espero que os gusten las preguntas.

1) Carlos, ¿a qué edad y con qué lenguaje te pusiste a crear tus primeros programas?

Pues descubrí la informática con unos 12-13 años. No tenía ordenador en casa y mi primer contacto con un PC fue en clases extraescolares en el colegio. Ahí todavía no sabía que se podía programar. En mi familia y círculo más cercano no había nadie que se dedicara a la informática como tal y mucho menos a programar.

Fue en bachillerato, con 16-17 años que tuve una asignatura optativa dónde la profesora nos enseñó a programar en C (TurboC de hecho) y a partir de ahi fue cuando descubrí que quería aprender todo sobre ello. Me compré algún libro de TurboC y descargué tutoriales para ampliar lo que aprendíamos en clase. Mi primer programa, por así decirlo, fue hacer un Trivial en C.

2) ¿No te dio nunca por crackmes o hackmes?

La verdad es que no. Me ha parecido siempre un tema muy interesante pero nunca me ha atraído mucho más que crear algo de cero. Considero que la ciberseguridad es un tema muy importante y esencial en cualquier software o aplicación y me gustaría saber más, pero hay tanto que saber en la vida que no se puede llegar a todo :)

3)¿Crees que con la llegada de NoCode/LowCodey AIs como ChatGPT/Copilot, programar va a ser una profesión de futuro?

Hay mucha gente alarmada con esto. Si entendemos la programación como únicamente picar código, está claro que no. Pero desde hace tiempo, la gran parte de las empresas y productos no son sólo líneas de código. Hay un proceso detrás de creatividad, ingeniería, optimizaciones… que la IA, por lo menos ahora y en un tiempo, no lo va a poder sustituir. A día de hoy y por unos cuantos años, las IA lo que nos van a ayudar es a reducir tiempos y optimizar nuestro día a día. Tareas repetitivas o tediosas la IA las puede hacer por nosotros en segundos o minutos y nosotros podríamos perder 1 día.

Lo que sí creo que es que la profesión de Programador, Desarrollador o Ingeniero de Software va a sufrir transformaciones. Pero esto es la tónica habitual de esta profesión. El trabajo se verá afectado, por supuesto, pero surgirán nuevos empleos más específicos que aún no somos capaces de ver. Lo que está claro es que un trabajo de programar 8h al día no tiene sentido desde hace ya un tiempo y estas nuevas tecnologías nos lo dejan más claro.

4) ¿Cuánto dedicas a aprender a programar y cuánto a saber programar sin cometer fallos de tipo SSRF, SQLi, Race Concitions, Reentrancy Attack, etc...? Por que no siempre son evidentes, ¿no?

Evidentemente. Programar se puede aprender más o menos rápido. Un poco de lógica, conocer que es una variable, bucles, funciones, etc… Lo difícil es hacerlo bien y esto se aprende con el tiempo, con la experiencia, y equivocándose muchas veces. 

Hasta que no rompes algo no te das cuenta de lo que tienes que aprender. En ese momento, es el indicado para empezar a leer y formarse sobre patrones, algoritmos, código limpio, arquitectura, etc… Todo tiene su proceso y este es un camino en el que bajo mi opinión, nunca llegamos a ser “Seniors”, somos “Junior” en un eterno aprendizaje.

5) ¿Cuál es el proyecto del que te sientes más orgulloso de haber hecho?

Sin duda al aplicación web que era producto de una Startup que co-fundé con mi pareja hace ya unos cuantos años. Se llamaba Chefly y nuestra idea es que fuera “el Airbnb de la comida casera”. Como toda Startup, algunas salen bien y otras no tanto. Nuestro caso fue de los segundos pero aprendimos muchas cosas y conocimos a mucha gente.

Desarrollar una aplicación completa, con su Frontend y Backend, usando nuevas tecnologías para la época y con poca experiencia en proyectos grandes y complejos fue toda una aventura. A veces miro hacia a atrás lo que hice y aunque tenía sus fallos me sigo sorprendiendo de que fuera capaz de desarrollar todo aquello.

6) Yo aprendí, BASIC, COBOL, Pascal, C, C++, Java y luego los lenguajes Web (y muchos menores), ¿cuáles son los que hay que aprender para el futuro según Carlos?

Salvo los tres primeros, yo también aprendí C, C++ y Java, sobre todo en la Universidad. Después en el “mundo real”, aunque empecé con Java, terminé decantando por el Frontend de las aplicaciones web y ahí JavaScript es el rey.

A día de hoy y de cara al futuro los más importantes son JavaScript por todo lo que puede abarcar (Frontend, Backend, IoT, Machine Learning, Tooling,...) y Python (Backend, Machine Learning, Data Science,...).


Despues tenemos otras alternativas dependiendo hacia donde nos queramos dirigir. Para sistemas y tooling tenemos a Rust pegando muy fuerte junto a Go. Y si nos orientamos hacia el sector blockchain ahi tenemos Solidity, Solana, etc…

7) ¿Qué es lo peor que has visto en un código publicado en un repo?

“He visto cosas que no creeríais”.

Por suerte no he tenido muchas malas experiencias, pero las que se tienen se graban a fuego en la memoria. Alguna vez he tenido que meter mano a una aplicación web cuyo código era un solo fichero JavaScript con miles de líneas en jQuery donde no había manera de arreglar nada. También me he encontrado con claves y secret token en repositorios públicos… Más o menos lo normal en esta profesión :D

8) ¿Qué no debería hacer alguien que comience a programar hoy en día para no ser un programador mediocre mañana?

No parar de formarse. Ya no solo porque la tecnología avance y surjan nuevos lenguajes o frameworks, sino porque aprender a hacer buen código, estable, buenas arquitecturas que permitan escalar y evolucionar no es algo que se aprenda en un minuto. Hay que leer mucho y sobre todo aplicar lo que se va aprendiendo, es la única manera de mejorar en tu trabajo y no hay un camino rápido. Es cuestión de tiempo y dedicación.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares