Bienvenido a mi web!

Mi nombre es Izan.
Durante años he aprendido

algoritmia

,

matemáticas

,

programación

de

videojuegos

,

desarrollo

web

frontend

/

backend

,

aplicaciones de escritorio

y siempre sigo aprendiendo.






Me encanta resolver problemas, actualmente tengo 17 años, y programo desde los 13. Mis lenguajes principales son:

C/C++

,

C#

,

Python

,

Java

, JavaScript, y Go.







Proyectos


Puedes ver todos mis proyectos en mi GitHub, con el código fuente incluido aquí: github.com/izanbf1803

También tienes aquí abajo algunos resúmenes:



OIcat - Olimpiada Informática Catalana
OIcat

OIcat
El día 4 de mayo se llevó a cabo la clasificatoria de la olimpiada informática catalana, y la verdad es que me ha ido bastante bien, quedando en primer puesto :D
Tengo muchas ganas de que llegue la final, a ver que tal.
Por cierto, aunque tengo el último problema en rojo, ya lo he resuelto, y me da verde :p
Puntuaciones
Puedes encontrar los problemas aquí


Tuenti challenge 8
Challenges - tuenti8

Tuenti challenge 8
Es un concurso muy divertido (aunque duro si aspiras a intentar llegar hasta el último problema) con principalmente dos tipos de problemas: los de algoritmia, donde es importante resolver los problemas mediante algoritmos eficientes y los de , donde es necesario usar todo tipo de herramientas y un poco de imaginación para resolver retos, como por ejemplo leer un código secreto en una imagen totalmente "triturada", entre otros.
En este concurso me esforcé mucho, y al final obtuve unos resultados con los que estoy muy contento, ya que pasé la primera fase quedando 26, y eso que envié el archivo equivocado en el submit del problema 5.    (╯°□°)╯︵ ┻━┻
Mis soluciones: tuenti8 en GitHub
Puntuaciones


Conway's game of life
Conway-game-of-life en GitHub

Proyecto
Hace tiempo hice un simple conway's game of life, pero recientemente me dió curiosidad por probar un par de cosas y encontré mi programa bastante limitado, por lo que decidí ampliar sus opciones. Ahora puedes modificar tanto el tamaño de la ventana, como el de las células, o la velocidad con la que se actualiza el mundo. Es muy curioso mirarlo cuando el tamaño de cada célula es un píxel y lo usas a pantalla completa (lo recomiendo a máxima resolución):


HP Codewars Barcelona 2018
Equipo M-503, 3ª posición: Puntuaciones

HP Codewars Barcelona 2018
Un divertido concurso donde alumnos de secundaria y bachiller compiten en equipos de 3 resolviendo 30 problemas durante tres horas.
Problemas HP Codewars Barcelona 2018
Nuestras soluciones


Conjunto de Mandelbrot
Mandelbrot-cpp en GitHub

Proyecto
A partir de mi anterior proyecto, la librería de generación de imágenes, no se me ocurrió mejor uso que una imagen dibujando el conjunto de mandelbrot, contrastando la versión en color y en escala de grises (las puedes ver en el respositorio). Pensé en añadir la opción de elegir un tamaño arbitrario, y así lo hice, permitiendo generar hasta imágenes de varios gigas. Tras ejecutar el programa, este fué el resultado:


Librería para generar imágenes
EasyBMP en GitHub

Proyecto
EasyBMP es una pequeña librería en C++ para generar imágenes BMP de manera fácil, con un único archivo, sin necesidad de incluír librerías extras u otros complementos. Me decidí a hacerla, ya que me molestaba tener que instalar librerías más pesadas simplemente para generar una única imagen, y por eso investigué sobre distintos formatos de imágen, y me decidí por BMP ya que había bastante información y no parecía muy complicado. El resultado de el código de ejemplo que se puede encontrar en el repositorio es este:


Algoritmo genético
PathfindingGA en GitHub
Puedes probarlo en tu navegador aquí

Proyecto
Este proyecto ha sido mi primer algoritmo genético programado desde cero, he decidido usar processing ya que nunca lo había usado y así matar dos pájaros de un tiro. Ha sido super divertido aprender sobre este tema y la verdad me sigue pareciendo curiso las cosas que se pueden llegar a hacer con un mecanismo tan simple pero efectivo.


Desarrollo en C/C++
RAT-cpp-prototype en GitHub

Proyecto
Este proyecto consiste en un RAT (Herramienta de administración remota) que nos permite ejecutar comandos de manera remota en otros equipos sin ser detectados. (Solo con fines educativos, no me hago responsable de los usos de este software, y no ha sido diseñado para usarse como malware).


Desarrollo en C/C++
sieve-of-eratosthenes-optimized en GitHub

Proyecto
Este proyecto consiste en una implementación eficiente de la Criba de Eratóstenes con la que usando operadores de bits aprovechamos hasta el último bit y además de ser eficiente consige reducir la memoria necesaria un 87.5%.


Desarrollo en C/C++
Barcodes en GitHub

Proyecto
Este proyecto consiste en un generador de códigos de barra con el estándard Code-128.


Desarrollo con Go
Go-Steganography en GitHub

Proyecto
Este proyecto consiste en un programa para ocultar información en archivos de imágenes (Esteganografía) [.jpg, .png, etc...] y además con un sistema de contraseña + cifrado AES. Es muy útil para guardar cosas como usuarios y otro tipo de datos de tamaño pequeño.


XSS (Security Bug)
WebSite here

Bug
This bug it's an XSS error. The website reflects the url in a javascript function. Using new ECMA6 syntax, you can find the solution...


Desarrollo con Go
http Go server en GitHub

Proyecto
Este proyecto consiste en un servidor HTTP 1.1 programado con Go, usando sockets, y sin usar librerías que nos hagan las tareas de servir los archivos, todo está 100% programado a mano. Incluye un pequeño sistema de configuración y de templates.


Desarrollo con JavaScript & Angular
YT Discover

Proyecto
Este proyecto consiste en una aplicación web que te brinda información sobre canales y videos en youtube, incluso te dice los TAGS de un vídeo.


Desarrollo con JavaScript
Tic Tac Toe MultiPlayer en GitHub
Puedes probarlo aquí

Proyecto
Este proyecto consiste en crear un Tic Tac Toe (3 en raya) en línea multijugador, en el que se dispone de matchmaking, verificación de jugadas, etc...


Desarrollo con C/C++
Multithreaded prime number generator en GitHub

Proyecto
Este proyecto consiste en un generador de números primos usando threads, (en un futuro no muy lejano quiero implementar CUDA), por ahora es capaz de comprobar hasta 10.000.000 de números primos en menos de 10 segundos en ordenadores de gama media.


Desarrollo con Python
YT API: Upload subtitles programatically en GitHub

Proyecto
Este proyecto consiste en un script python que te permite subir archivos de subtítulos a sus correspondientes vídeos, así, te facilita la tarea de subtitular tus vídeos y en vez de subirlos manualmente, sube todos de golpe.


Desarrollo con Python
Send File en GitHub

Proyecto
Este proyecto consiste en un script python que permite tanto ser cliente como servidor. Después, el cliente puede subir archivos al servidor.


Desarrollo Web con NodeJS
NodeJS Chat en GitHub

Proyecto
ATENCIÓN: Este proyecto solo tenía la finalidad de probar la potencia de socket.io y no está estructurado como un buen proyecto web.

Este proyecto consiste en un chat, con registro de usuarios (base de datos MySQL y servidor NodeJS), verificación por correo, autenticación con token, y además dispone de bloqueo de usuarios, expulsión, y otros comandos.