Skip to content
View JD3M0N's full-sized avatar
📚
studying
📚
studying
  • La Habana

Highlights

  • Pro

Block or report JD3M0N

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
JD3M0N/README.md

JD3M0N (Josue R. Naranjo)

Resumen general

Desarrollador y estudiante de Ciencias de la Computación en la Universidad de La Habana, 14 repositorios públicos en GitHub (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub). Interesado en proyectos académicos y personales en diversas áreas de la programación, incluyendo desarrollo web, inteligencia artificial, juegos y lenguajes de programación.

Proyectos más relevantes

  • Automatic Exam Generation (Backend_AutomaticExamGeneration) – Un backend web clean architecture desarrollado en C# (.NET 8) para gestionar tareas académicas, exámenes y actividades educativas (GitHub - JD3M0N/Backend_AutomaticExamGeneration). Emplea Entity Framework Core para el acceso a datos y una arquitectura limpia por capas. Este proyecto incluye ~98 commits de desarrollo (GitHub - JD3M0N/Backend_AutomaticExamGeneration). Su finalidad es automatizar y simplificar la creación/gestión de exámenes, utilizando una base de datos SQL Server para almacenamiento (GitHub - JD3M0N/Backend_AutomaticExamGeneration) y siguiendo buenas prácticas de desarrollo en .NET.

  • MatComInvasion (MatComInvasion_C_game) – Un juego arcade estilo “Space Invaders” programado en C para ilustrar conceptos de Sistemas Operativos (GitHub - JD3M0N/MatComInvasion_C_game). En este proyecto (44 commits de trabajo (GitHub - JD3M0N/MatComInvasion_C_game), co-desarrollado con otro estudiante), el jugador controla una nave para defender la Facultad de Matemática y Computación de una invasión alienígena. El juego integra conceptos de concurrencia, gestión de memoria y planificación de procesos a nivel de sistema operativo (GitHub - JD3M0N/MatComInvasion_C_game). Por ejemplo, cada entidad del juego se maneja como un proceso independiente y se utilizan señales y planificación de CPU para coordinar enemigos y disparos. Este proyecto demuestra habilidades de programación de bajo nivel y manejo de gráficos en consola.

  • THE_HULK – Un proyecto de compiladores escrito en C# que implementa el lenguaje de programación “HULK” (Havana University Language for Kompilers). HULK es un lenguaje imperativo-funcional, estáticamente y fuertemente tipado, donde prácticamente todas las instrucciones son expresiones (GitHub - JD3M0N/THE_HULK). El repositorio se divide en una biblioteca de clases llamada THE_HULK (motor del lenguaje) y una aplicación de consola Bruce_Banner para interactuar con el compilador (GitHub - JD3M0N/THE_HULK). Incluye la implementación de un analizador léxico (lexer) y sintáctico (parser) propios, capaces de tokenizar el código fuente y procesar la gramática definida del lenguaje (GitHub - JD3M0N/THE_HULK) (GitHub - JD3M0N/THE_HULK). Este proyecto, aunque más pequeño (8 commits), destaca por aplicar técnicas de diseño de lenguajes y procesamiento de textos fuente.

  • Moogle! (Moogle2023) – Una aplicación web original de búsqueda de texto, desarrollada en .NET Core 6.0 con el framework Blazor para la interfaz gráfica, usando C# (GitHub - JD3M0N/Moogle2023) (GitHub - JD3M0N/Moogle2023). El propósito de Moogle! es “buscar inteligentemente un texto en un conjunto de documentos” (GitHub - JD3M0N/Moogle2023), funcionando como un motor de búsqueda académico. Consta de dos componentes: MoogleServer (servidor web que renderiza la UI y entrega resultados) y MoogleEngine (biblioteca que implementa la lógica de búsqueda) (GitHub - JD3M0N/Moogle2023). El proyecto invitaba a implementar el método de consulta para procesar la entrada del usuario y retornar los documentos más relevantes. Este repositorio (9 commits) evidencia conocimientos de desarrollo web full-stack en C# y algoritmos básicos de recuperación de información.

  • Otros proyectos notables – JD3M0N también ha explorado el campo de la inteligencia artificial y juegos a pequeña escala. Por ejemplo, desarrolló IA-Bot-For-Dota-2, un bot escrito en Lua para jugar al videojuego Dota 2 de forma autónoma (GitHub - JD3M0N/IA-Bot-For-Dota-2: A bot that can play Dota 2) (GitHub - JD3M0N/IA-Bot-For-Dota-2: A bot that can play Dota 2). Este proyecto demuestra nociones de scripting en entornos de juego y lógica de IA para bots, aunque es un repositorio breve (3 commits). Asimismo, creó mnist_train-Neuronal_Network, una implementación propia de una red neuronal para clasificar dígitos manuscritos de la base de datos MNIST (GitHub - JD3M0N/mnist_train-Neuronal_Network). En este proyecto (Python), codificó redes neuronales de una, dos y tres capas desde cero y proporcionó un modelo entrenado listo para pruebas. Si bien estos proyectos secundarios tienen menor alcance, indican la disposición del usuario a incursionar en machine learning y programación de scripts para juegos, ampliando su experiencia más allá del currículo.

Lenguajes de programación más utilizados

El lenguaje predominante en los repositorios de JD3M0N es C#, reflejado en la mayoría de sus proyectos principales (aplicaciones .NET, juegos y el compilador personalizado) (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub). Varios repositorios son 100% C#, consolidando este lenguaje como su fuerte. También utiliza C puro en al menos un proyecto significativo (para programación de sistemas) (GitHub - JD3M0N/MatComInvasion_C_game), mostrando habilidades de bajo nivel. Python es otro lenguaje frecuente en su perfil, empleado en proyectos de aprendizaje automático (e.g., la red neuronal de MNIST) (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub). Adicionalmente, destaca el uso de Lua en su proyecto de bot para Dota 2 (GitHub - JD3M0N/IA-Bot-For-Dota-2: A bot that can play Dota 2). En menor medida, podría haber experimentado con otros lenguajes, pero C#, C, Python y Lua son claramente los más presentes. Este repertorio indica versatilidad para adaptarse tanto a lenguajes de alto nivel orientados a objetos, como a lenguajes de scripting y de sistema.

Contribuciones a otros repositorios

La actividad de JD3M0N en repositorios de terceros se ha dado principalmente en contextos académicos y colaborativos. Por ejemplo, contribuyó al repositorio matcom/practicas-primero-2023 (de la Facultad de Matemática y Computación) abriendo issues para seguimiento de prácticas (Issues · matcom/practicas-primero-2023 · GitHub). En dicho repositorio, JD3M0N (como Josue Rolando Naranjo Sieiro C-112) abrió el issue #100 reportando su trabajo, demostrando participación en la coordinación de actividades de programación con sus compañeros. Además de reportar issues, ha colaborado en proyectos multi-autor junto a otros estudiantes: el proyecto MatComInvasion antes mencionado lista a JD3M0N como co-autor junto con otro desarrollador (GitHub - JD3M0N/MatComInvasion_C_game). Sin embargo, fuera del entorno universitario, no se observan contribuciones significativas mediante pull requests o código enviado a proyectos open source de terceros. Su interacción comunitaria se centra más en seguir a otros desarrolladores, aprender de proyectos existentes (ha marcado 2 repositorios de otros con “estrella” en GitHub (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub)) y participar en iniciativas de su universidad. En resumen, JD3M0N muestra disposición a colaborar localmente (en entornos controlados como asignaturas), aunque todavía no registra un perfil de colaborador activo en proyectos abiertos de gran escala.

Estadísticas generales

  • Repositorios públicos: 14 en total en su perfil (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub), abarcando proyectos personales y académicos diversos.
  • Commits: Sus repositorios varían en tamaño; algunos pequeños (~3–10 commits) y otros mucho más extensos. Por ejemplo, su proyecto más grande cuenta con 98 commits realizados (GitHub - JD3M0N/Backend_AutomaticExamGeneration), mientras que otros proyectos educativos tienen del orden de 40+ commits (MatComInvasion con 44 commits (GitHub - JD3M0N/MatComInvasion_C_game)) o menos de 10 en casos más simples. En conjunto, esto suma varios centenares de commits totales, lo cual refleja una actividad de desarrollo constante durante su carrera estudiantil (particularmente en 2023–2024).
  • Stars: Los proyectos de JD3M0N han obtenido pocas estrellas en GitHub (en general 0, con 1 estrella en sus dos repositorios más destacados) (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub). Esto es típico para repositorios académicos o personales que no se han promocionado ampliamente; las estrellas parecen provenir de su propio interés o de colegas cercanos.
  • Forks: 0 forks en la mayoría de sus repositorios (GitHub - JD3M0N/Card_Game_with_compiler), lo que indica que terceros no han clonado activamente sus proyectos (nuevamente coherente con proyectos estudiantiles de uso interno). No hay indicios de bifurcaciones significativas ni derivaciones de su código por parte de otros desarrolladores.
  • Issues: Sus proyectos personales no muestran issues públicas abiertas o cerradas – normalmente, no utiliza el seguimiento de issues en GitHub para organizar su trabajo (probablemente maneja pendientes de manera informal). En entornos externos, ha abierto issues para contribuir información (ejemplo: issue #100 en un repo de prácticas académicas (Issues · matcom/practicas-primero-2023 · GitHub)), pero no se observan casos de resolución/cierre de issues de otros por su parte.
  • Seguidores y seguimiento: Posee 19 seguidores en GitHub y sigue a 43 cuentas (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub). Este nivel de seguimiento sugiere una red modesta, compuesta sobre todo por compañeros de clase, desarrolladores locales o proyectos de interés. Aunque no es una figura de amplia influencia, sí mantiene conexión con la comunidad inmediata y temas que le interesan.
  • Otros datos: JD3M0N tiene 2 repositorios marcados como “favoritos” (starred) en su perfil (JD3M0N (Josue Rolando Naranjo Sieiro) · GitHub), indicando que también explora proyectos ajenos para aprendizaje. Ha obtenido insignias o achievements comunes en GitHub (por ejemplo, por completar perfiles, posiblemente el Arctic Code Vault Contributor por contribuciones en 2020, etc.), aunque estos no son especialmente relevantes en términos de desarrollo. En general, sus estadísticas reflejan a un desarrollador en formación: muchos commits en repos propios, bajo impacto externo (stars/forks), pero con crecimiento constante en experiencia.

Tecnologías y herramientas utilizadas

A lo largo de sus proyectos, JD3M0N ha utilizado una variedad de frameworks, bibliotecas y herramientas acorde a cada objetivo:

  • En desarrollo web/backend con C#, emplea .NET Core/ASP.NET (por ejemplo, .NET 8 en su sistema de exámenes (GitHub - JD3M0N/Backend_AutomaticExamGeneration)). Para la interfaz web, ha utilizado Blazor (framework de componentes web en .NET) en el proyecto Moogle (GitHub - JD3M0N/Moogle2023), demostrando conocimientos de aplicaciones de página única en C#. También sigue principios de arquitectura limpia (Clean Architecture) en sus proyectos, separando capas de dominio, aplicación e infraestructura (GitHub - JD3M0N/Backend_AutomaticExamGeneration). En cuanto a acceso a datos, integra Entity Framework Core como ORM sobre bases de datos relacionales (GitHub - JD3M0N/Backend_AutomaticExamGeneration). De hecho, configura una base de datos SQL Server para almacenar información académica (GitHub - JD3M0N/Backend_AutomaticExamGeneration), usando herramientas como SQL Server Management Studio para su gestión.

  • En el entorno .NET, JD3M0N se apoya en Visual Studio 2022 como IDE principal para desarrollar y depurar sus aplicaciones C# (GitHub - JD3M0N/Backend_AutomaticExamGeneration), aprovechando las facilidades de este entorno para proyectos web y de escritorio. Asimismo, utiliza Git y la plataforma GitHub para el control de versiones y colaboración, organizando sus repositorios con documentación (README, licencias) y manteniendo el historial de commits.

  • Para proyectos de compiladores, ha trabajado con las bibliotecas estándar de C# implementando desde cero componentes como analizadores léxicos y sintácticos (no reporta el uso de generadores de parser externos, por lo que presumiblemente implementó su propio lexer/parser en C# usando las clases base del lenguaje). Esto implicó manejar estructuras de datos para tokens, arboles sintácticos, etc., mostrando dominio de algoritmos de análisis de texto.

  • En el desarrollo de sistemas y juegos en C, se valió de las funciones estándar de C y características del sistema operativo Linux. Por ejemplo, en MatComInvasion trabajó con procesos y señales del sistema (fork, manejo de procesos concurrentes, memoria dinámica), programando un juego en modo consola. Posiblemente empleó herramientas como GCC para compilación en entornos UNIX y utilizó editores/IDEs como VS Code o similares para C. El uso de aliases de Bash sugiere familiaridad con entornos de terminal en Linux (GitHub - JD3M0N/MatComInvasion_C_game).

  • En el ámbito de inteligencia artificial y ciencia de datos, JD3M0N utilizó Python. Su proyecto de red neuronal para MNIST probablemente involucró bibliotecas como NumPy para manejar matrices y cálculos, y el uso de pickle para guardar el modelo entrenado (dado que incluye un archivo .pkl con el modelo entrenado). Aunque el README no lo menciona explícitamente, es común apoyarse en librerías estándar de Python para facilitar este tipo de implementaciones. Es posible que también haya usado Jupyter Notebooks durante el desarrollo o matplotlib para visualizar datos durante las pruebas (esto último es especulativo, pero frecuente en proyectos de aprendizaje automático). En cualquier caso, demostró saber entrenar y validar modelos de ML básicos en Python.

  • Para proyectos de scripting en juegos, específicamente el bot de Dota 2, trabajó en Lua, aprovechando la API de scripting que proporciona el juego Dota 2 para bots. Lua es un lenguaje ligero, y JD3M0N manejó archivos .lua que definen el comportamiento del bot (por ejemplo, funciones bot_think() para la IA de los héroes). Esto implicó conocimiento de la estructura de bots en Dota 2 y cómo integrar scripts en el cliente del juego. No se mencionan herramientas específicas aquí, pero probablemente probó el bot en partidas personalizadas en el juego para iterar en su desarrollo.

En resumen, las herramientas y tecnologías clave en el perfil de JD3M0N incluyen C#/.NET (Blazor, EF Core, Visual Studio) para desarrollo web y de software, lenguaje C y conceptos de sistemas operativos para programación de bajo nivel, Python para experimentos de machine learning, Lua para scripting en videojuegos, y el uso constante de Git/GitHub para el control de versiones. Esta combinación muestra una formación integral, abarcando desde el desarrollo de aplicaciones empresariales hasta proyectos de IA y sistemas, usando las herramientas apropiadas en cada caso.

Popular repositories Loading

  1. mnist_train-Neuronal_Network mnist_train-Neuronal_Network Public

    Python 1

  2. Backend_AutomaticExamGeneration Backend_AutomaticExamGeneration Public

    C# 1

  3. JD3M0N JD3M0N Public

    Config files for my GitHub profile.

  4. Card_Game_with_compiler Card_Game_with_compiler Public

    C#

  5. Moogle2023 Moogle2023 Public

    C#

  6. THE_HULK THE_HULK Public

    C#