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

lunes, mayo 20, 2024

Una maestra entrevista a "Diego", un joven programador de 12 años de edad

Hoy tenemos el placer de conocer a Diego Puebla Cuesta, un joven programador nacido en 2012, estudiante del Colegio Ángel Abia de Venta de Baños, un pueblo de Palencia. A pesar de su corta edad, Diego ha demostrado un apasionado interés por la tecnología, encontrando en la programación su verdadera pasión. Aunque también nos cuenta que la robótica, la hípica o el baloncesto son otras de sus grandes aficiones.

Figura 1: Una maestra entrevista a un joven programador de 12 años de edad

Diego es hijo de padres veterinarios, pero su fascinación por la tecnología le ha llevado por un camino completamente diferente. Admira a figuras destacadas en el campo de la Ciberseguridad, como Chema Alonso y Amador Aparicio, pero en especial, a su tío Jorge Sánchez, Ingeniero en Informática y responsable del Departamento de Informática en el CIFP Juan de Herrera de Valladolid. Diego representa una nueva generación de mentes brillantes que están dejando su marca en el mundo digital desde una edad temprana.

1. ¿Qué crees que es lo más importante que debe SABER un programador?

Creo que lo más importante que debe saber un programador es cómo resolver problemas. A veces, escribir código puede ser difícil, pero es como resolver un rompecabezas. También es útil entender cómo funcionan las computadoras y cómo hablar su idioma, así podemos decirles qué hacer Y, por supuesto, nunca debemos dejar de aprender y practicar, así podremos ser mejores programadores cada día.

2. ¿Qué crees que es lo más importante para SER programador?

Lo más importante para SER programador es la pasión y la perseverancia. Es imprescindible disfrutar de resolver problemas y estar dispuesto a aprender constantemente. También es importante tener curiosidad por cómo funcionan las cosas y estar dispuesto a explorar nuevas tecnologías y lenguajes de programación. Además, la paciencia para mí es clave, ya que la programación puede ser muy desafiante a veces, pero con práctica y ganas, se pueden superar todos los obstáculos. Además, creo que es muy importante saber transformar ideas en soluciones a través de los programas.

3. ¿Cuáles son los fundamentos esenciales de la programación y qué habilidades consideras indispensables para desarrollar en este campo?

Lo básico en programación son cosas como entender cómo funcionan los ordenadores y aprender a escribir código. Es como aprender un idioma nuevo que te permite dar instrucciones a las computadoras. También es importante ser creativo y pensar en soluciones ingeniosas para los problemas. Es divertido cuando ves tus ideas convertidas en programas que funcionan de verdad.

Pero si me hablas de habilidades en particular creo que la más importante es la capacidad de resolver problemas de manera creativa. Con la programación tienes que enfrentarte a desafíos constantemente, y saber cómo abordarlos de manera eficaz y útil es esencial. Ser autodidacta (sobre todo en mi caso) y tener constancia son cualidades clave, ya que la tecnología avanza muy rápido y es importante mantenerse actualizado y seguir aprendiendo continuamente para mejorar como programador.

4. ¿Cuál es el lenguaje de programación que más utilizas? ¿Por qué?

Principalmente utilizo lenguaje de programación visual, ya que me enfoco en Scratch. Cuenta con un entorno de programación diseñado para que niños y principiantes aprendamos a programar de manera divertida e interactiva. Permite crear animaciones, juegos y otros proyectos utilizando bloques de código que se encajan como piezas de un rompecabezas. Es genial para aprender los conceptos básicos de la programación de una manera visual y práctica. Además, estoy comenzando a explorar otros lenguajes como Unity, Python y JavaScript.

5. Cuéntanos un poco, ¿cómo y cuándo empezaste a programar, y por qué con Scratch?

Comencé a programar en Scratch el año pasado (en el curso 2022-2023). Tenía 10 años y me apunté a un taller de informática que ofrecen en Venta de Baños como actividad extraescolar en las Aulas Municipales. Empecé cuando el profesor nos mandó crear una presentación Power Point a modo de competición en la que el premio era un juego de Steam.

Al oír la palabra “juego” se me ocurrió hacer la presentación, precisamente, sobre cómo crear un juego ayudándome de información que iba buscando en Internet. Me creó tanta curiosidad que le pregunté qué plataforma me recomendaba utilizar para comenzar a crear mi propio juego y, así, comencé con Scratch.

 
Cuando llegué a casa comencé a crear una réplica del juego Flappy Bird utilizando Scratch, lo que me llevó aproximadamente una semana. La verdad que el profesor no se creía que, en tan poco tiempo, y sin tener ningún tipo de experiencia ni contacto con la programación, creara el juego, así que mi motivación y curiosidad fue a más hasta día de hoy.

¿Cómo aprendí? Pues se puede decir que de forma autodidacta viendo y buscando vídeos de programadores, principalmente, a NecroHelio y el canal de tecnología e informática Laita Digital. Al final, he llegado a tener mi propio “estudio” de Scratch donde podéis investigar un poco más y probar los videojuegos en los que he estado trabajando todo este tiempo (y los nuevos que estoy creando…). 

6. ¿Cuánto tiempo te llevó manejar bien Scratch?

A los tres-cuatro meses lo tenía totalmente controlado. No paraba de ver vídeos, las ideas sobre la creación de diferentes juegos me venían a la cabeza una tras otra y ya… Al final sigo creando y desarrollando juegos con Scratch porque para mí es una forma de expresarme y de mostrar mis ideas al mundo, y me ofrece un enorme campo de libertad a la hora de buscar ideas.

7. ¿Qué crees que es lo primero que se debe aprender para programar?

Lo primero que deberías aprender para programar en Scratch es ¡cómo moverte por su interfaz! Es como aprender a conocer tu herramienta de trabajo. Después, es importante entender cómo funcionan los bloques de código y cómo se pueden juntar para crear acciones. ¡Así podrás empezar a dar vida a tus ideas y crear proyectos!

8. ¿La escuela te resulta de alguna utilidad para aprender sobre informática y/o programación?

La verdad es que en la escuela no recibo mucha ayuda cuando se trata de programación. En mi clase, el nivel es bastante bajo y algunos compañeros ni siquiera saben cómo apagar el ordenador. Además, los profesores tampoco tienen un alto nivel en informática. Cuando tenemos actividades en el ordenador, a menudo me toca hacer todo yo solo.

9. ¿Crees que las matemáticas o la física son un conocimiento importante para un programador? ¿Por qué?

Sí, creo que las matemáticas y la física son conocimientos muy muy importantes para un programador. Las matemáticas nos facilitan la base para entender los conceptos como algoritmos y la estructura de datos de la que hablaba antes. Además, muchas áreas de la programación, como la inteligencia artificial, se basan en principios matemáticos. La física también puede ser importante, sobre todo en el desarrollo de simulaciones y juegos, donde se necesitan entender conceptos relacionados con las velocidades, movimientos, giros, etc.

10. Si tuvieras tres meses para aprender una tecnología relativamente nueva, ¿cuál elegirías?

Me enfocaría en la Ciberseguridad porque que creo que es fundamental hoy en día, ya que protege la información sensible y los sistemas contra ciberataques. Aprender sobre técnicas de seguridad me permitiría entender cómo proteger mejor los datos y sistemas. Además, con el crecimiento de las amenazas, conocer la Ciberseguridad sería una habilidad muy valiosa e importante en la actualidad tecnológica.

11. ¿Cuáles son tus herramientas favoritas (sistemas operativos, lenguajes de programación, editor de texto, sistema de control de versiones…u otras herramientas) y por qué te gustan más que otras?

Como entorno de programación me gusta Visual Studio Community 2022. Lo uso especialmente para escribir código en Unity, ya que ofrece una práctica de programación intuitiva y eficaz. Además, me gusta su integración con Unity, lo que facilita el desarrollo de juegos y aplicaciones.

Para programar en Unity, me gusta utilizar principalmente C#. Es un lenguaje potente y fácil de aprender, lo que lo hace ideal para iniciar proyectos rápidamente en Unity. También me gusta usar Scratch para proyectos más simples o para enseñar conceptos de programación a otras personas por su enfoque visual y fácil comprensión.

12. ¿Cómo te imaginas en un futuro? ¿Te ves trabajando como programador de videojuegos? ¿O te gustaría abrir nuevos campos de trabajo?

Qué difícil. La verdad que ahora mismo solo me veo como programador de juegos. Me encantaría formar una empresa y crear un programa de desarrollo. Pero también me gustaría seguir formándome, y como he dicho antes, aprender sobre Ciberseguridad. Hay bastantes campos que me llaman la atención y la tecnología está en constante cambio y evolución, así que nunca se sabe…

Y, por último, me gustaría preguntarte ¿cómo conociste a Chema Alonso y Amador Aparicio, y por qué te interesan sus trabajos?

No los conocía hasta que este curso (2023-2024) me apunté de nuevo al taller de informática. La profesora que tenemos ha creado un blog donde nosotros mismos vamos subiendo todo lo que trabajamos y lo que vamos aprendiendo. También ella sube entradas interesantes de herramientas y nuevos programas y, la verdad, que es muy motivador ver cómo otras personas que ni siquiera nos conocen ven nuestros proyectos.

Entre las entradas que ella publica, un día escribió una dedicada a Chema Alonso y otra sobre Amador Aparicio para que conociésemos más a personas que han y están aportando mucho al mundo de la tecnología, y que, como dice ella, “les tenemos aquí mismo”.

Figura 3: Entrada dedicada a Chema Alonso y a Joan Ruiz.

Nos mandó crear una presentación de Power Point sobre figuras clave o importantes en el mundo de la informática y fue cuando elegí a Chema para seguir investigando y conocer más de él.


También me llamó la atención la entrada de Amador sobre sus inicios y su experiencia en Ciberseguridad, ya que, como dije antes, me gustaría aprender más de este campo y como proteger mis datos o saber cómo abordar ataques cibernéticos. Me encantaría conocerle en persona. Un compañero tuvo la oportunidad porque hizo el PPT sobre él y la profesora facilitó el encuentro.

Pero por supuesto, me gustaría conocer a Chema. Me parece muy difícil el trabajo de ser un “hacker blanco”. Le preguntaría mil cosas, como “qué le motivó a ser un gran informático”, “con qué programa empezó” o “si le da miedo su trabajo”. Admiro lo que hace y las cosas que va subiendo a su blog, las visitas que tiene, la cantidad de personas que conoce y le hablan…Y bueno, ya puestos… a mí me encantaría algún día que todo el mundo conociese mis proyectos y mostrar a otras personas cómo he llegado hasta aquí.

Autora: María Pérez Triana.
Maestra de Educación Primaria, Mención en Pedagogía Terapéutica y Audición y Lenguaje. Máster en Psicopedagogía.

sábado, enero 13, 2024

De la Idea al Juego: Reflexiones de un estudiante de GameDev sobre las claves para la Creación de Videojuegos Memorables

Aunque la creación de un programa informático presenta sus propios desafíos, el desarrollo de un videojuego es una tarea colosal. No solo debe funcionar adecuadamente, sino que también ha de brindar una experiencia envolvente para los jugadores. Es común ver a los desarrolladores de videojuegos ajustando y añadiendo elementos a sus proyectos en busca de la fórmula del éxito.

Figura 1: De la Idea al Juego: Reflexiones de un estudiante de
GameDev sobre claves para crear Videojuegos Memorables

La complejidad radica en la multitud de elementos que conforman estas obras, lo que hace que coordinarlos armoniosamente sea todo un desafío. Aspectos como los gráficos, música, sonidos, niveles, partículas y controles, son solo algunos de los componentes que mejoran la experiencia, pero su implementación se verá inevitablemente limitada por un factor crucial: la idea central.

Siendo un apasionado del gamedev desde los 9 años, si algo he aprendido, es que la calidad y el éxito de un juego dependen significativamente de sus mecánicas base, y aunque podamos mejorar nuestro proyecto con elementos decorativos, es improbable que supere ese límite preestablecido. He llegado a esta reflexión tras haber cometido muchos errores en mis creaciones, un conocimiento que hubiera valorado enormemente en mis inicios, cuando aún exploraba el mundo de la programación con Scratch


Figura 2: Juego de Chema Versus Malware hecho en Scratch

Por esta razón, escribo esta entrada, con el propósito de ofrecer una perspectiva útil, y con ‘útil’ me refiero a que la información a continuación, te pueda ser beneficiosa, ya sea que te encuentres inmerso en la industria o no. Dirigiéndome a los interesados en el mundillo, mi objetivo es que consideren esta información como un consejo, de desarrollador a desarrollador.

Para aquellos que lean por mera curiosidad, espero que contribuya a destacar la relevancia de la industria y, posiblemente, encuentren aplicaciones incluso en proyectos ajenos al ámbito de los videojuegos. La generación de ideas, como muchos sabrán, no solo adquiere importancia en este campo específico.
Volviendo al tema, el proceso de elaboración de cualquier software interactivo, debería comenzar siempre por un sólido trabajo mental. Es cierto que miles de juegos exitosos empiezan con una idea poco elaborada, que luego va evolucionando durante el desarrollo. Sin embargo, estos casos no son ninguna excepción para nuestra norma, ya que a fin de cuentas, lo que hacen, es modificar la raíz del juego cuando se dan cuenta que no funciona.

Aunque esta práctica puede mejorarlo, supone inconvenientes considerables, debido a que el proyecto tendrá una gran parte de componentes vinculados a esta idea, que deberán ser desechados, lo que implica una pérdida de tiempo y esfuerzo evitable. Por ende, concluimos en que la mejor estrategia es concebir unas buenas raíces desde el principio. Pero, ¿cómo lo conseguimos?

Figura 4: Canal Inventarium de Joan en Scratch

El primer paso suele implicar preguntarse a uno mismo qué queremos que nuestro cliente experimente al probar nuestro producto. En nuestro caso, esto se traduce a ‘Qué queremos que nuestro juego transmita al jugador’. La mayoría de diseñadores tienden a contestar esta pregunta inconscientemente, haciendo referencia a los géneros ya establecidos en el mercado, como los roguelikes, platformers y metroidvanias, entre muchos otros.

Frecuentemente encontraremos GameDevs apasionados, diciendo cosas como ‘Quiero hacer un juego tipo puzzle’ o ‘Estoy ideando un shooter con elementos de platformer’, estos desarrolladores, en realidad, están articulando la esencia que desean que su juego comunique, utilizando términos convencionales conocidos por la comunidad.

Por ejemplo, el género de videojuegos puzzle, es simplemente una etiqueta para describir un juego que provoca intriga, frustración, satisfacción, concentración y muchas emociones más, pero habitualmente vemos a gente del sector combinando y moldeando este tipo de terminologías para ahorrarse unas palabras y explicarse fácilmente.

Figura 5: Monument Valley, juego tipo puzzle

A pesar de contar con estas plantillas que denominamos géneros, el verdadero objetivo del desarrollador debería ser tomar prestadas las obras preexistentes como fuente de estudio, no como modelos a copiar. Si te gustan los juegos de supervivencia, no creo que tu mejor apuesta sea crear uno como tal, sino entender qué experiencias y qué sensaciones transmiten esta clase de títulos.

Una vez comprendido eso, lo más probable es que puedas desarrollar algo mejor, incluso con elementos innovadores que otras personas nunca habrían contemplado. Es más, si un diseñador acostumbra a no partir de los géneros que ya existen a la hora de ingeniar sus proyectos, lo más seguro es que algún día triunfe con una propuesta totalmente novedosa, potencialmente convirtiéndose en un nuevo estándar que otros imiten.


Ahora bien, todas estos consejos pueden sonar abstractos y difíciles de aplicar, sobre todo para producciones pequeñas, como en las Game Jams, donde tienes un corto plazo de tiempo para hacer un videojuego. En estos casos las experiencias quedan en segundo plano, siendo más fácil concentrarse en la inclusión de componentes visuales como enemigos, monedas o barras de vida. Si bien este proceso creativo no se centra en las experiencias, también sirve para forjar unos buenos cimientos.

Una metodología que siempre me ha ayudado, es diseñar los proyectos sin tener en cuenta qué temática les voy a dar, ya que de algún modo u otro, tener una en mente te termina condicionando. Por ejemplo, si quieres hacer un juego ambientado en jardinería, dudosamente se te ocurrirá implementar disparos o zombies. Sin embargo, cuando los desarrolladores no se dejan cegar por temas convencionales, nacen conceptos brillantes, como es el caso de Plantas vs Zombies, un videojuego que combina los factores mencionados y ha tenido un éxito asombroso.

Figura 7: Plantas vs Zombies Original

Lo que suelo hacer para dar con una idea sin tener una ambientación atada, es pensar en los componentes de la partida como instancias sin apariencia alguna. Tomando como ejemplo el juego mencionado, podríamos partir de una propuesta inicial en la que unos ‘entes’, posicionados por el jugador, previenen que unos enemigos lleguen de un extremo a otro, estando todo dividido en carriles. Por tanto, esta descripción está hecha de tal manera que más tarde se le pueda aplicar cualquier estilo audiovisual, si quieres que los enemigos sean piratas, el entorno una playa, y nuestras unidades sean animales, adelante, cámbialo. Ya no será idéntico a Plantas vs Zombies, pero las mecánicas serán las mismas y el juego se regirá por las mismas reglas.


Por último, quería comentar lo importante que me parece cuestionar tus propias ideas, ya que incontables veces nos quedaremos satisfechos con una propuesta que, al someterla a un análisis crítico, resulta ser mejorable o, incluso, innecesaria. Esta actitud de autoevaluación te permite ver lo que estás haciendo con otros ojos, algo que es crucial, ya que el juego no está diseñado exclusivamente para nuestra experiencia, sino que será visto por una audiencia externa, a menudo más numerosa y variada. Preguntarte a ti mismo si hay maneras de optimizar o simplificar tu concepto inicial puede conducir a la generación de mecánicas muy innovadoras.

Conclusión   

En el ámbito de la creación de videojuegos, donde la originalidad y la creatividad son fundamentales, la capacidad de cuestionar y analizar nuestras ideas puede marcar la diferencia entre un proyecto más y uno memorable. Así que, no tengas miedo a desentrañar tus propias creaciones, busca siempre innovar y estar dispuesto a fallar, ya que, bajo mi punto de vista, es en ese proceso donde se encuentra el verdadero progreso y aprendizaje.

Saludos.

Autor: Joan Ruiz Berenguer, Diseñador y Desarrollador de Videojuegos

lunes, marzo 01, 2021

Proyectos educativos con Micro:bit para educar a futuros Makers: Robot que sigue la linea dibujada en el suelo

Este es probablemente uno de los proyectos educativos más extendidos en el mundo, es una práctica muy común entre los futuros Makers que se están iniciando en el mundo de Arduino, Drones o Raspberry Pi,  y por suerte también es posible llevarlo a cabo utilizando placas Micro:bit. En este caso existen muchas variaciones para este proyecto ya que es fácil realizarlo con distinto hardware, en este caso para facilitar las cosas y ahorrar tiempo buscando piezas y esperando a que nos lleguen a casa recurriremos a un kit que viene listo para construir nuestro robot, solo necesitaremos una placa Micro:bit y el kit micro:Maqueen, o el avanzado micro:Maqueen Plus que tienes en Amazon y viene con todo lo necesario para construir nuestro robot.

Figura 1: Proyectos educativos con Micro:bit para educar a futuros Makers.
Robot Maqueen que sigue la linea dibujada en el suelo

Maqueen es un kit pensado para proyectos educacionales que involucren programación gráfica, y es plug & play con las placas de Micro:bit, su construcción es bastante sencilla y cuenta con un montón de funcionalidades como soporte para Makecode (que añade compatibilidad con Scratch y Python), cuenta con numerosos sensores y es compatible, y expandible, con otros kits para realizar diferentes proyectos.


Para poder configurar nuestro maqueen tendremos que importar su librería a nuestro editor de Micro:bit, esto es super sencillo, solo tendremos que copiar el enlace de Github que contiene la librería, abrir el menú de configuración de Makecode, seleccionar la opción añadir paquete y pegar ahí el enlace. Una vez hayamos añadido la librería nos aparecerá un apartado con el logo de Maqueen (en algunos casos aparece otro logo por defecto) en el que podremos acceder a sus comandos.

Figura 3: Libreria de Maqueen en MakeCode

Utilizando esta librería podremos configurar nuestro robot para que haga determinados movimientos o siga un patrón que nosotros le marquemos - podremos, por ejemplo, hacerle que avance un número de centímetros en una dirección y luego hacer que cambie de sentido -, también podremos controlar a la velocidad que se mueve e incluso la velocidad de los giros que queremos que dé.
El robot cuenta con un motor independiente para cada rueda, por lo tanto, cuando queramos que avance o retroceda deberemos establecer la misma velocidad en ambos motores y para realizar los giros solo será necesario girar un motor mientras el otro se encuentra parado haciendo de pivote. Del mismo modo que configuramos la velocidad de los motores podremos configurar los led frontales y de “ambiente” de nuestro robot haciéndoles cambiar de color a nuestro gusto o haciendo que se pongan de color rojo cuando el robot detecte un obstáculo.

La placa de Maqueen también incorpora un zumbador que puede configurarse para que emita pitidos en varios tonos y cuenta con un sensor ultrasónico de distancia con el que podremos medir con precisión a que distancia se encuentra el robot de posibles obstáculos para esquivarlos o simplemente que nos muestre por la “pantalla” de Micro:bit esa distancia en la unidad que seleccionemos.

Construcción del robot que sigue la línea dibujada en el suelo  

Una de las opciones más comunes en proyectos educativos es la construcción de un robot que siga una línea o pista dibujada en el suelo. Esta opción es super sencilla de configurar, solo tendremos que utilizar bucles y combinarlos con las lecturas de los sensores de escala de grises que incorpora Maqueen en su parte inferior. Estos sensores se encuentran uno a cada lado de la zona central del robot y detectan la diferencia entre tonos (en este caso blanco o negro) de la superficie sobre la que circula.

Figura 6: Control y corrección de ruta

Lo que hay que hacer para que el robot avance siguiendo una línea es establecer que cuando los dos sensores no detecten la línea los motores del robot se muevan, en cambio cuando uno de los sensores detecte el borde de la línea este mande una señal que pare el motor de su lado mientras el otro sigue funcionando y así hacer una corrección de la trayectoria. Al realizar estas correcciones de trayectoria constantemente el robot será capaz de seguir la línea sin ningún problema, en la imagen antaerior os dejo un ejemplo del código necesario para este experimento.


Otra de las ventajas de obtener este kit es que también podremos convertir nuestro robot en un coche teledirigido utilizando un mando con sensor infrarrojo o en el caso de disponer de una segunda Micro:bit podremos utilizar la función de radio (al igual que en el proyecto anterior) para mandar las instrucciones al coche, para esto podremos adquirir un kit plug & play que convierte nuestra placa en un mando de juegos arcade, solo nos hará falta configurar la conexión por radio y los botones desde el editor de Micro:bit como en el ejemplo que se muestra a continuación.

Figura 8: Configuración del control por radio final

Por un lado tenemos el código que corresponde al robot y por el otro el código con la configuración de los botones del control remoto, ambos códigos emitiendo en la misma frecuencia para que haya comunicación entre las placas. Como veis, un proyecto muy divertido para comenzar en el mundo de la robótica, y que puedes hacer incluso con tus hijos desde muy jóvenes, que es fácil de entender todo el proceso si quieres educarlo como un creador/a de tecnología maker.

Autor: Sergio Sancho, Security Researcher en Ideas Locas.

domingo, julio 14, 2019

Mis charlas de Rubika en OpenExpo y Sappo en Chile, una LUCA Talk, Rescue FOCA de Joan y lo nuevo del Dr. Tech

Como ya os dije, he estado recopilando las últimas charlas que había dado, y hoy aprovecho y os las dejo todas publicadas en mi Canal Youtube. Además de dos charlas mías, os dejo la que hizo Joan Ruiz Berenguer explicando cómo ha llegado a hacer los juegos de Rescue FOCA, y de Chema vs. Malware que ya os conté, una LUCA Talk y un nuevo vídeo del Dr. Tech explicando cosas de Movistar Home.

Figura 1: Mis charlas de Rubika en OpenExpo y Sappo en Chile, una LUCA Talk,
Rescue FOCA de Joan y lo nuevo del Dr. Tech

La primera charla que os dejo la impartí en Mayo de 2019 en Santiago de Chile, para explicar cómo los cibercriminales utilizan el robo de Tokens OAuth con aplicaciones maliciosas para hacerse con el control de cuentas de correo electrónico y robar dinero a las empresas. Una explicación sencilla con una demo de nuestro querido Sappo, que tienes resumido en este vídeo de menos de quince minutos.


Figura 2: Conferencia en CIIA 2019 en Santiago de Chile

La siguiente charla es la que impartí en Open Expo Europe 2019 sobre Rubika, nuestra sistema Anti-Rubber Hose basado en cómo resuelves el cubo de Rubik y de la que os he estado hablando durante estas últimas semanas. En la presentación tuve un par de ayudantas de lo más profesionales, ya que subieron Mi Hacker y Mi Survivor a hacer las demos conmigo


Figura 3: Rubika en OpenExpo Europe 2019

La siguiente charla que os traigo es la que hizo Joan Ruiz Berenguer, autor de los juegos en Scratch de Chema vs. Malware y Rescue The FOCA justo detrás de mí en OpenExpo Europe 2019. Son solo unos minutos de charla, pero Joan lo hace de maravilla. ¿A que no diríais que era la primera vez que se subía al escenario?


Figura 4: Joan Ruiz Berenguer "Rescue The FOCA"

El siguiente vídeo que os dejo es de nuestros compañeros de LUCA que han hecho una LUCA Talk en la que explican cómo resolver problemas de negocio con Big Data. Una charla práctica y con ejemplos que aterriza la aplicación del Big Data al mundo de la empresa de una manera muy clara.


Figura 5: LUCA Talk "Cómo resolver problemas de negocio con Big Data"

Y el último vídeo es un nuevo episodio del Dr. Tech, en este caso el Capítulo 6 titulado "Pide un deseo" y que explica cómo funciona el servicio de "Lista de deseos" que desarrollamos con El Corte Inglés para Movistar Home... pero de una forma muy especial.


Figura 6: Las aventuras del Dr. Tech: Pide un deseo

Y esto es todo por hoy, a disfrutar el domingo que el lunes ya está aquí mismo. Deporte, ocio, familia y un poco de relajación mental.

Saludos Malignos!

jueves, junio 20, 2019

Rescue The FOCA: Nuevo juego en Scratch de Joan Ruiz Berenguer

Hoy ha sido un día muy especial, ya que en OpenExpo Europe 2019 hemos podido disfrutar de una charla de Joan Ruíz Berenguer en la que nos ha explicado su último proyecto, un juego llamado Rescue The FOCA. Para los que tengáis mala memoria, Joan hizo el juego de Chema Versus Malware que tenéis publicado en Scratch y del que ya os hablé.

Figura 1: Rescue The FOCA. Nuevo juego en Scratch de Joan Ruiz Berenguer

Hoy se ha venido a OpenExpo Europe 2019 a contar en una charla cómo ha ido aprendiendo y haciendo cosas. Cómo comenzó haciendo animaciones con vídeo, cómo hacía dibujos, juegos de mesa, cómics y, por último, juegos en Scratch


Figura 2: Juego de Chema Versus Malware hecho en Scratch

< De este ya os dejamos publicado el de Chema Versus Malware, pero en su Canal Inventarium de Scratch tiene algunos de esos proyectos, donde espero que pronto se anime a publicar este último de "Rescue The FOCA" que nos ha enseñado hoy.


En el juego, lo que tienes que conseguir es recuperar la FOCA que ha sido robada por un cibercriminal para hacer el mal, así que debes perseguirlo utilizando todo tipo de armas, sorteando obstáculos, e incluso yendo en monopatín para ir más rápido.

Figura 3: Si montas el skate vas más rápido pero es más peligroso

Al final, tendrás que luchar con el monstruo del final, pelearte con el malo usando toda tu habilidad y todas tus armas para conseguir vencerlo y recuperar a nuestra querida FOCA


Figura 4: Vídeo explicativo del juego Rescue The FOCA

En este vídeo que os subo a YouTube se puede ver más o menos el flujo del juego. Es el que ha utilizado hoy Joan para explicar cómo está construido en Scratch por dentro.

Figura 5: Canal Inventarium de Joan en Scratch

Una maravilla. Estoy seguro que os iré contando muchas más aventuras de Joan y su trabajo por aquí, así que seguid atentos el su canal que pronto irá publicando más cosas.

Saludos Malignos!

domingo, diciembre 16, 2018

Cursos y Talleres de Informática y Hacking hasta fin de año

De aquí a final de año ya queda poco que hacer en cuanto a eventos. Yo solo tengo como única actividad pública el evento de presentación del Movistar Team de ciclismo para la temporada que viene, que hemos preparado algunas cosas desde la unidad LUCA y desde mi equipo de Ideas Locas que vamos a enseñar allí.

Figura 1: Cursos y Talleres de Informática y Hacking hasta fin de año

Pero sí que tenemos algunas actividades de formación para profesionales y para niños que tal vez os puedan interesar. Esta es la lista de actividades que os traigo hoy domingo... hasta fin de año.

Hoy, 16 de Diciembre
Curso Online de Hardening de Servidores Windows Server 2016 [Online] Con 10 horas de sesiones en vídeo, y prácticas para rellenar hasta 35 horas, esta formación te enseña cómo realizar un proceso de fortificación a servidores Windows Server 2016. Los alumnos de estas formaciones recibirán el libro de Windows Server 2016: Administración y Seguridad de 0xWord. Puedes apuntarte hasta esta noche a las 00:00.

Figura 2: Libro de Windows Server 2016: Administración y Seguridad

Lunes, 17 de Diciembre
Curso Online de Hacking con Python [Online] Desde The Security Sentinel lanzan uno de los cursos más demandados hoy en día. Con 90 horas de formación te preparas para sacar el máximo de Python en el mundo de la Ciberseguridad y el Ethical Hacking.
Figura 3: Curso Online de Hacking con Python
Además, con el curso recibirás el libro de Hacking con Python de 0xWord. Tienes toda la información en la web del curso.
Figura 4: Hacking con Python
Domingo, 23 de Diciembre
Curso Online de Auditoría y Hacking Web [Online] El último curso de The Security Sentinel durante 2018 está destinado al Hacking de aplicaciones web. Con 100 horas de duración, perfecto para ponerse las pilas durante el periodo estival. Tienes todo el temario detallado en la web del curso.
Figura 5: Curso Online de Auditoría y Hacking Web
Además, como complemento se entrega uno de mis libros en 0xWord, el de Hacking Web Technologies que hice con grandes compañeros como Amador Aparicio o Pablo González. 
Figura 6: Hacking Web Technologies

Miércoles 26 y Jueves 27 de Diciembre
Programa tu propio videojuego con Scratch o Snap [Madrid] En el Espacio de la Fundación Telefónica se han abierto cuatro grupos los días 26 y 27 de Diciembre por la mañana y por la tarde, para que los niños a partir de 12 años puedan aprender a programar sus propios vídeo-juegos. Elige tu turno y reserva. 
Figura 7: Programa tu videojuego con Scratch o Snap
Para que puedan hacer cosas como el vídeo-juego de "Chema Alonso vs Malware" del que os hablé hace no demasiado.

Figura 8: Chema Alonso vs Malware en Scratch

Domingo, 30 de Diciembre
Curso Profesional de Hacking Ético [Online] El penúltimo día del año, nuestros amigos de The Security Sentinel lanzan su curso estrella. Una de las formaciones que mejora capacitan profesionalmente a los que se quieren introducir en el mundo del pentesting y el Ethical Hacking. Tiene una dedicación de 180 horas con el temario que tienes en la web del curso.
Figura 9: Curso Online de Hacking Ético Experto
Además, los asistentes recibirán los libros de Ethical Hacking y Metasploit para pentesters que escribió nuestro compañero Pablo González para 0xWord.
Y esto es todo de aquí a fin de año. Ya queda poco, poco, poco, para que me vaya unos días de vacaciones en el blog, así que dentro de poco ya nos despediremos durante un tiempo, que ha sido un año largo e intenso... y muy divertido, si he de decir algo sobre él a bote pronto.
Saludos Malignos!

jueves, noviembre 08, 2018

Chema vs Malware: Un juego en Scratch con FOCA y Latch

Este verano estuvo compartiendo unas semanas con nosotros en las oficinas de ElevenPaths en Valencia, una joven promesa de la informática de tan solo 14 años llamado Joan Ruiz Berenguer, estudiante del instituto público IES Districte Marítim ubicado en la misma ciudad. Ayer mismo, en el Security Innovation Day 2018 lo anunciamos, y hoy lo tenéis por aquí.

Figura 1: Chema vs Malware: Un juego en Scratch con FOCA y Latch

Joan ya había demostrado su creatividad siendo muy joven, tal y como nos cuenta su padre, Marc Ruiz:
“Joan desde muy pequeño le han encantado los talleres porque es muy creativo. Ya con cartón y pegamento se construía sus artilugios (manos de lobezno, cajeros automáticos,...). También fabricaba (y lo sigue haciendo) juegos de mesa con todo detalle de instrucciones, tablero, dados, …”.
Con 9 años descubrió el stop-motion y se lanzó a crear su primera animación usando esta técnica que podéis ver aquí o en su canal de Youtube (también tiene su cuenta en Twitter, @JoanRuiBere). Pero su verdadera pasión son los videojuegos, por eso cuando descubrió Scratch se puso manos a la obra para crear los suyos propios. Joan es un fan de Chema Alonso así que le propusimos que hiciera un juego basado en él utilizando esa misma plataforma ya que los juegos iban a ser el tema del Security Innovation Day 2018.

Figura 2: Joan Ruiz Berenguer en su cuarto con su ordenador. Fuente: Marc Ruiz

El juego se llama “Chema vs Malware” y consiste en ir arreglando los ordenadores que un Evil Chema (lo podéis distinguir por el color del gorro, de color rojo) intenta acceder o instalar malware. Pero, además, en función del tipo de acción realizada sobre el ordenador, será necesario utilizar una de nuestras aplicaciones que tenemos en ElevenPaths para poder solucionarlo.

Figura 3: Evil Chema, la FOCA y Chema Alonso en el juego

Por ejemplo, si es intento de acceso, tenemos que instalar Latch (tecla Z), si por otro lado es una fuga de información, lo podemos solucionar instalando MetaShield Protector (tecla X). Otras de nuestras herramientas que aparecen en el juego son nuestra querida FOCA y también Tacyt.

Figura 4: Juego completo de Chema vs Malware en Scratch

Además, también existen “Power-ups” como en otros videojuegos clásicos. Si aparece un icono de la FOCA, podemos utilizarlo para directamente reparar todos los ordenadores que hayan sido manipulados (FOCA rulez!). Por otro lado, también aparece una tabla de "Skateboard" que nos permitirá ir más rápido por un tiempo limitado y así llegar antes a los equipos.

Figura 5: Power-Up de FOCA y smartphone sin cobertura Wi-Fi

El juego tiene varios niveles en los cuales la complejidad se incremente, aumentando el número de ordenadores y la velocidad del Evil Chema. Como misión adicional, tendremos también que recoger los smartphones que veamos y llevarlos a una zona donde tengan cobertura Wi-Fi. En este vídeo tenéis una pequeña demo de cómo es el juego.


Figura 6: Demo de Chema vs Malware

El juego, como podéis ver los más veteranos está inspirado en el famoso XBill de GNU/Linux, pero Joan lo ha interpretado de forma personal y creativa a nuestro mundo en ElevenPaths.  Es para nosotros todo un honor que alguien tan joven tenga a Chema Alonso como referencia. Esto nos motiva y ayuda a todo el equipo para ir mejorando, con el objetivo de concienciar y servir de ejemplo a estas nuevas generaciones.

Autor: Fran Ramírez, (@cyberhadesblog) miembro del equipo de Crazy Ideas en CDO en Telefónica, co-autor del libro "Microhistorias: Anécdotas y Curiosidades de la historia de la informática (y los hackers)", del libro "Docker: SecDevOps" y del blog Cyberhades.

martes, noviembre 19, 2013

Crear hackers "from the scratch" o programando tortugas

Yo comencé a programar con doce años de edad, con el lenguaje BASIC. Como ya os he contado fue para mi toda una aventura de switches, acumuladores y contadores que me cambió la vida para siempre. En aquel entonces la gente no se preocupaba mucho de que los niños aprendieran a programar, pero lo cierto es que a mi me vino genial para ordenarme la cabeza. Así como el inglés lo aprendí de bastante mayor, y me tengo que concentrar mucho para poder sacar con cierta lógica las palabras, pensar en resolver problemas programando me resulta natural, porque lo aprendí desde niño y luego lo pude ir depurando en la Universidad.

Figura 1: Un ejemplo de código en BASIC

Sin saber que al final las cosas en la vida acaban conectándose, en mis años ya de profesional, acabé conociendo un día a Radia Perlman, con la que pasé un buen rato charlando y acabamos malignizados para siempre en esta foto que guardo con mucho cariño.

Figura 2: Con la Dra. Radia Perlman

Radia, además de ser conocida como la Madre de Internet por ser la creadora del Spanning-Tree Protocol, también fue la creadora de TORTIS (Toddler's Own Recursive Turtle Interpreter System), un sistema que permitía a niños preescolares aprender a programar mediante una serie de botones que dirigían los movimientos de una tortuga.

Figura 3: Tarjetas de programación para TORTIS

En ese trabajo inicial, Radia Perlman utilizaba en TORTIS un "artilugio" para que los niños programaran con una máquina en la que iban poniendo las tarjetas de lo que querían que hiciera la tortuga. Eso le permitía que el preescolar aprendiera a mandar a la tortuga hacer movimientos iterativos, alternativos o repetitivos. Bases para aprender los conceptos de la programación.

Figura 4: Niños programando con TORTIS

Cuando conocí este trabajo de Radia Perlman, yo no sabía que el LOGO, el lenguaje de programación por el que se aprende a hacer dibujos por medio de una tortuga, procedía de TORTIS. Yo ya había aprendido a programar en BASIC cuando LOGO llegó a mi vida, por lo que me parecía un poco raro todo él en sí, pero lo cierto es que lo usé e hice los trabajos de dibujo que me pidieron.

LOGO se basaba en unos comandos bastante sencillos, que permiten desplazar a la tortuga siguiendo diferentes trazadas y pintar o no pintar. Eso deja en manos de los developers preescolares la capacidad de pintar todo lo que quieran. En este vídeo se puede ver cómo los programas hechos en el intérprete, pueden ser llevados directamente al papel con la tortuga amarilla de LOGO.

Figura 5: La tortuga amarilla de LOGO dibujando lo programado

El LOGO volvió otra vez a mi vida cuando en un evento sobre emprendimiento me encontré con Pilar García de la empresa Exalta, como moderadora. A parte de intercambiar impresiones sobre lo que nos atenía, compartimos otras cosas de experiencias personales, y la suya tenía que ver con que cuando montaron su empresa, se dedicaron a hacer compiladores de LOGO. De hecho, el LOGO cuenta con un juego de instrucciones en Español, para poder facilitar el aprendizaje por igual a las jóvenes mentes de todo el mundo.

Figura 6: Instrucciones de LOGO en inglés y español sacadas de Wikipedia

La programación de la tortuga se parece mucho a la programación de robots, donde los jóvenes que ya dispongan de algunas habilidades en la programación pueden ver una evolución de hacer programas que permiten pintar a programas que permiten un universo de posibilidades aún mayor con un robot.

Hoy en día, para enseñar a programar a los jóvenes que ya están en el colegio, existen lenguajes de programación que han sabido sacar provecho de las ventajas multimedia que ofrecen las nuevas tecnologías. Quizá el más popular es Scratch, del MIT, un lenguaje que permite definir scripts de acciones - como moverse, repetir acciones, etcétera - pero utilizando elementos visuales muy atractivos para los más jóvenes, pero con una gran potencia.

Figura 7: Un Tetris programado en Scratch

No es el único lenguaje que sigue esos principios, si realizáis alguna búsqueda por Internet, encontraréis entornos como ToonTalk - basado en los mismos principios que Scratch - o el lenguaje de programación de juegos que Microsoft distribuye dentro de sus programas educativos, el Kodu Game Lab.

Figura 8: Entorno de programación en ToonTalk

Con Kodu Game Lab se pueden hacer juegos fantásticos mediante elementos de programación visual que pueden ser muy sencillos, o que pueden ser muy complejos dependiendo del nivel del creador de los programas. Ya os dejé algún vídeo de juegos hechos con Kodu, pero aquí os dejo un pequeño tutorial que muestra cómo es la forma en la que se programa en este sistema

Figura 9: Tutorial de programación en Kodu Game Studio


En el objetivo de ayudar con el programa Talentum a mejorar el entorno tecnológico del país, se ha incorporado una nueva iniciativa de educación tecnológica para niños y niñas en las propias tiendas de Movistar. Allí los tutores, también jóvenes procedentes del programa Talentum Startups, están enseñando a programar en Scratch y a programar Robots en cursos gratuitos que se dan a los niños y niñas que se apuntan. Todo a través de lo que han denominado Talentum Schools.

No obstante, para enseñar a programar en Scratch a los más jóvenes, para programar en Kodu Game Labs o incluso en LOGO, no necesitas mucho más que un sistema informático de gama media en casa.... y pasar tiempo con ellos.

Si puedes apuntar a los niños a cursos de Talentum Schools estaría genial, pero si eres docente en algún centro en el que hay niños entre 8 y 13 años, tal vez sea una buena opción proponer actividades de programación similares - ya sea como prácticas de asignaturas o como actividades extraescolares o culturales -.

Figura 10: Cursos de Talentum Scools para programar en Scratch

Lo mismo para ti, si eres padre, padrino, hermano o tío y sabes programar. Aprender estos lenguajes no te costará mucho, y podrás no solo pasar tiempo con tu gente, sino que además estarás ayudándole un montón para el futuro. Si no tienes tiempo, no eres docente, o no sabes programar, y te has quedado sin plazas de Talentum Schools esto es fácil. Busca a cualquier estudiante de informática que le guste la programación y la ciencia, y contrátale clases particulares para que enseñe a tu hijo a programar en Scratch o Kodu Game Labs o en el mismo LOGO. Seguro que lo hace genial.

Y sobre todo, que no te preocupe la edad, que de 8 años en adelante es un buen momento para que los niños aprendan a hacer cosas con las computadoras y descubran que pueden crear lo que ellos quieran si saben cómo programarlo. Conviértelo en un hacker ...from the scratch.

Saludos Malignos!

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares