¿Sabías que se puede escribir código usando emojis?Programar con emojis no es un chiste: existe un lenguaje real llamado Emojicode. Es un lenguaje de programación multiparadigma, fuertemente tipado, que utiliza emojis en lugar de palabras clave tradicionales, y soporta Programación Orientada a Objetos. 🔗 Web oficial: https://www.emojicode.org/ 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/07/06/emojicode.html
Dos soluciones en C# para detectar duplicadosA veces buscamos escribir código más compacto porque a simple vista parece “más elegante”, pero no siempre el algoritmo más breve es el más eficiente. Como programadores, es clave entender cómo funciona cada enfoque antes de elegir. Al elegir un algoritmo o implementación, considerá: Complejidad algorítmica (Big O): - Tiempo: ¿cuántas veces recorrerá la estructura de datos? - Espacio: ¿cuánta memoria extra necesita? Caso promedio y peor caso: - ¿Puede detenerse antes si encuentra la respuesta rápido? - ¿Siempre procesa toda la entrada? Legibilidad y mantenibilidad: - ¿El código es fácil de entender y mantener para otros programadores? 💻 Código ejecutable: https://paiza.io/projects/HQCKSl4qkAk97lpzMnGi-g 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/csharp/2025/07/02/csharp-hashset-dos-soluciones.htmlVer más
¿Por qué un QR dañado sigue funcionando?El algoritmo Reed-Solomon usa la matemática para recuperar datos aunque falten partes, mediante operaciones con números especiales llamados “códigos” para detectar y corregir errores, tratando los datos como si fueran partes de un polinomio. Así puede reconstruir los valores que faltan. No solo es útil en los códigos QR: también se usa en CDs, DVDs, Blu-Ray, transmisiones espaciales, Ethernet y comunicación satelital. Al momento de la lectura, si faltan datos, se resuelve un sistema de ecuaciones polinómicas para reconstruirlos. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/06/28/qr-reed-solomon.htmlVer más
Tipos de datos: en detalleEntender cómo se almacenan los datos nos ayuda a escribir código más eficiente (ahorrando memoria y CPU), debuggear errores raros (como overflows o accesos inválidos), trabajar con archivos binarios, redes o hardware (donde cada byte cuenta). Tal vez para los desarrolladores web es algo que no surge en el día a día. Pero será importante conocer sobre los detalles de la memoria cuando trabajes con: ✓ Sistemas embebidos (memoria limitada), ✓ Procesamiento de archivos binarios (imágenes, sonido), ✓ Optimización crítica (juegos, algoritmos pesados), ✓ Bugs raros (como buffer overflows o corrupción de datos). 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/conceptos/2025/06/26/tipos-de-datos.htmlVer más
POO - ¿cómo diseñarías estas clases?En este ejercicio podríamos pensar diferentes formas de modelar las clases, que dependerán de cada caso y de la información que se necesite manejar de cada una. Pero siempre es importante tener algunos conceptos claros, para que el diseño sea lo más ordenado posible. Por ejemplo, el Viaje probablemente necesite saber qué auto lo realizó, y el Auto podría también conocer sus viajes, pero no es obligatorio si ya existe un gestor (Flota). También es interesante ver cómo se desarrolla el principio de responsabilidad única (“SRP” o “Single Responsibility Principle”) cuando entendemos que el Auto representa un vehículo y como tal no es responsable de registrar viajes. La Flota (o podría ser “la empresa”) es quien organiza y gestiona. Esto nos da también una baja dependencia entre objetos, porque el Auto no necesita saber quién lo gestiona ni qué hace con él. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/poo/2025/06/22/ejercicio-poo.htmlVer más
El problema del año 2038: ¿la computadora volverá a 1901?¿Viviste la época del Y2K? Porque en algunos años va a suceder algo parecido. El problema del 2038 (también conocido como “Y2038” o “Epochalypse”) está relacionado con la forma en que los sistemas computacionales representan el tiempo, especialmente en sistemas de 32 bits. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/06/08/epoch-2038.html
Desafío Java número 8¡Veamos un desafío con Java! Este es un tema que suele generar errores comunes al trabajar con colecciones (List, Map), APIs, o cualquier objeto mutable. Entenderlo evita bugs del tipo “¿Por qué mi objeto cambió… o no cambió?”. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/desafios/java/2025/05/24/desafio-java-8.html
Django Rest FrameworkDjango REST Framework es una herramienta que permite crear el “backend” de una aplicación: la parte que se encarga de guardar, procesar y enviar datos. “DRF” funciona sobre Django en Python y se encarga de exponer datos a través de una API (normalmente en formato JSON). Se integra directamente con el ORM de Django, facilitando el trabajo con bases de datos y permite que esos datos puedan ser leídos, modificados, creados o eliminados desde otros sistemas (como un frontend hecho con React, una app móvil, u otro backend). 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/python/2025/05/11/drf.htmlVer más
Cómo practicar programación con proyectos realesPoder leer y modificar código ajeno es importantísimo para un desarrollador, entonces ¿por qué no usar proyectos de código abierto practicar? Nadie necesita ver tu versión: podés usarlo como un laboratorio personal. Tampoco es necesario hacer grandes cambios: poder hacer correr el código, cambiar un color o mensaje o agregar una nueva validación son buenos ejercicios. Un proyecto interesante es "Conduit" (https://codebase.show/projects/realworld), una aplicación que imita a Medium.com en distintas versiones, desarrolladas con múltiples lenguajes y frameworks. Acá puede verse su documentación: https://realworld-docs.netlify.app/introduction/. También podríamos encontrar algún repositorio interesante en la lista "Awesome First Pull Request Opportunities" (https://github.com/MunGell/awesome-for-beginners) que, aunque apunta más a quienes buscan contribuir con su código a un proyecto (es decir, enviar el código para que forme parte del repositorio), los que se listan ahí suelen ser proyectos bien organizados y con buena documentación para poder entenderlos. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/05/05/practicar-con-open-source.htmlVer más
¿Qué proyectos hacer para practicar?Practicar programación no es hacer ejercicios sueltos todo el tiempo (¡aunque eso también es necesario!). Estos proyectos simples pueden ayudar a aplicar lo aprendido y a organizar las ideas en algo funcional. 📜 Ver esta publicación en el blog: https://patriciaemiguel.com/otros/2025/05/02/proyectos-para-practicar.html