Hace un par de días vi un parche para Linux por parte de Google, sobre como lograron optimizar la gestión de red hasta en un 40% en plataformas con muchas conexiones y procesadores AMD.
Me llamó la atención por la simplicidad del código, pues solo consiste en re-ordenar el contenido de unas estructuras de red del kernel Linux para evitar que la data quede separada en 2 líneas de cache L3. Claro, Google para poder llegar a este parche tuvo que realizar varias pruebas de bajo nivel para conocer que atributos re-ordenar.
Como este es el tipo de problemas que suelo enseñar en la materia de Sistemas Operativos de la UNET. Me animé a hacer un breve video para mis alumnos y lectores de este blog. El contenido del mismo es sobre como el CPU accede a la memoria, los niveles de caché, el contenido del parche de Linux y los resultados obtenidos en procesadores AMD e Intel.
Espero les haya gustado y si desean conocer sobre Sistemas Operativos o Linux, pueden suscribirse a mi canal de Youtube sobre Sistemas Operativos, donde hospedo mis clases de la universidad y publico contenido similar.
Descubre lo nuevo que llega hoy a Laravel en su versión 11. Una estructura más compacta y simple, no estás obligado a adoptarlo de inmediato; todas las aplicaciones existentes construidas sobre la estructura de Laravel 10 seguirán funcionando sin problemas.
Para mi Neovim es el mejor editor que existe porque: es ligero, puedes usarlo sin necesidad de usar un teclado, puedes configurar cada aspecto, entre otras cosas. Pero para lograr todo eso, es necesario editar la configuración del programa de acuerdo a tus necesidades y si no tienes experiencia en el tema puede ser abrumador y dificil.
¿Qué es NvChad?
En los últimos años han salido proyectos que te permiten dar una configuración inicial de nvim. De esta forma puedes empezar a usar el editor y disfrutar de los mejores plugins y funcionalidades sin entrar a editar la configuración inicial.
NvChad es uno de estos proyectos y fue el que decidí usar, porque a pesar de contar con una personalización que hice desde hace años. Me pareció mas fácil migrar y mantener mi configuración usando NvChad. Este helper (como le dicen a este tipo de proyectos en la comunidad de nvim) me parece muy fácil de usar, las características por defecto son poderosas y el editor queda visualmente muy bien.
Versión 2.5.0
Hace un par de horas salió esta nueva versión 2.5, justo cuando iba a realizar ajustes a mi configuración. Pues al ver los cambios, vi que tienen una nueva arquitectura mucho mas sencilla y mas fácil.
En versiones anteriores, NvChad se presentaba como un repositorio que contenía toda la configuración necesaria para transformar Neovim y aprovechar al máximo las funcionalidades que ofrece NvChad, incluyendo la instalación de complementos, configuraciones personalizadas, entre otros aspectos. Para realizar personalizaciones o ampliar las configuraciones, se proporcionaba una carpeta designada donde podías mapear la configuración en el sistema de archivos y realizar tus ajustes. Sin embargo, este enfoque tenía sus inconvenientes, ya que requería estudiar y comprender la estructura, para adaptara las configuraciones según la forma en que este estaba organizado.
NvChad como un plugin externo
Desde la versión 2.5.0 ahora es un plugin que se instala de forma externa. Solo debes clonar el repositorio que incluye una configuración mínima e ir agendando tus configuraciones en los archivos especificados.
La ventaja ahora es que ya no es necesario revisar la configuración predeterminada de NvChad. Los archivos dentro de la carpeta de Neovim contienen exclusivamente tus personalizaciones, lo que hace que el proceso sea menos intrusivo y más acorde con la filosofía de Vim.
Cómo migré mi configuración
Comienzo diciendo que el script de migración no me sirvió. Así que me tocó empezar de nuevo:
Copiar todos tus archivos de la carpeta /lua/custom/configs a /lua/configs.
Copiar el contenido de tu lista de plugines a lua/plugins/init.lua y eliminar todo prefijo de custom. para que valores como custom.configsy custom.plugins quede como configs. y plugins. respectivamente.
Copiar tus mapeos de teclas a /lua/mappings.lua y usar la nueva sintaxis. Esta parte implica actualizar la estructura, sin necesidad de realizar trabajo adicional.
Una vez completados estos pasos, inicia Nvim y los plugins se instalarán automáticamente. No olvides revisar posibles errores de sintaxis y ajustarlos según sea necesario. En mi caso, para LSPConfig, tuve que ejecutar el comando :Mason para instalar las dependencias del linting.
¡Listo! Si deseas ver el resultado de mi configuración puedes hacer un fork de mi configuración de NvChad y empezar desde allí.
Hace un par de años, me embarqué en la búsqueda de formas para potenciar mis habilidades en pruebas de software. Fue en un hilo de Twitter (ahora X) donde me topé con una discusión sobre las diferencias entre stub y mock. En medio de esta conversación, alguien recomendó el libro «Unit Testing Principles, Practices, and Patterns» de Vladimir Khorikov. Después de haber adquirido el libro hace algún tiempo, finalmente encontré el momento oportuno para sumergirme en sus páginas y, en este artículo, compartiré mis impresiones al respecto.
Contenido de Unit Testing Principles, Practices, and Patterns
En mi opinión, el libro abarca todo lo necesario para aprender a aplicar pruebas a cualquier software que desarrolles. Desde las razones fundamentales para realizar pruebas hasta conceptos como unit testing, mocks, test doubles, integration testing, end to end tests, entre otros. Además, finaliza con una sección muy interesante sobre anti-patrones, la cual nos brinda valiosas enseñanzas para mejorar nuestras prácticas de codificación y hacer que el código sea más accesible de probar.
Cada sección comienza con la presentación del concepto, seguido de su aplicación en el ámbito profesional. Posteriormente, se ofrece una serie de ejemplos de código que abarcan tanto el método o sección de código a probar como el código de las pruebas correspondientes. Este enfoque estructurado garantiza una comprensión completa y práctica de los temas tratados.
Es importante destacar que si bien los ejemplos de código están escritos en Java, su estructura y lógica son fácilmente transferibles a otros lenguajes de programación como PHP o C++. Cualquier profesional, independientemente de su preferencia de lenguaje de programación podrá leer los ejemplos sin problemas.
Además, el texto cuenta con secciones que contienen notas sobre consideraciones importantes a tener en cuenta, así como experiencias personales del autor frente a diversas situaciones. Esta combinación de teoría, ejemplos prácticos y reflexiones personales enriquece la experiencia de aprendizaje y ofrece una perspectiva más completa sobre el proceso de pruebas de software.
¿Debería leerlo?
Este libro es verdaderamente accesible para personas de todos los niveles de experiencia. Ya seas un principiante absoluto o un profesional experimentado en el campo de las pruebas de software, encontrarás que Unit Testing Principles, Practices, and Patterns ofrece valiosos conocimientos y perspectivas. En definitiva, si deseas adentrarte en el mundo del testing o mejorar tus habilidades existentes, este libro es para ti.
Descubre la importancia del archivo composer.lock en el desarrollo PHP. Asegura consistencia y seguridad en tus proyectos con esta herramienta clave.
Descubre las emocionantes mejoras de Laravel 11 para construir aplicaciones web avanzadas y eficientes. ¡El futuro del desarrollo web está aquí!
Optimiza tus query scopes en Laravel para un autocompletado más amigable en tu IDE favorito. Aprende cómo configurarlos adecuadamente y maximiza la eficiencia de tus consultas SQL. Simplifica tu flujo de trabajo y mejora tu productividad con este tutorial.
Descubre por qué los 80 caracteres por línea son clave en la programación. ¡Un vistazo al pasado y su impacto en el presente!
Half-life es uno de los mejores videojuegos que se han creado. Salió en 1998, una época donde la mayoría de FPS (First Person Shooters) solo se enfocaban es que debías disparar todo lo que se moviera. Pero Half-life era una experiencia nueva, donde no tenias que disparar todo, sino interactuar con otros y con el entorno. Pues como se cumplieron 25 años de su lanzamiento, Valve ha liberado un documental sobre Half-Life sobre su desarrollo y puesta al mercado.
Mi opinión sobre el documental
El lanzamiento de este documental de Half-Life fue una total sorpresa, nunca hubo un anuncio sobre el mismo y pensé que era algo de poca calidad. Al verlo me di cuenta que tenía buena producción, participación de los desarrolladores originales del juego. De hecho me encantó ver como fue todo el proceso de creación del juego parte de las personas involucradas en su desarrollo.
El documental comienza sobre como fue los inicios de Valve, la fundación de la compañía y sus ideales de como crear video-juegos. Posteriormente, veremos como este documental abarca el desarrollo del juego, diseño de niveles, de donde sacaron las texturas de los niveles, las ideas sobre el diseño de personajes, como fue la grabación de sonidos, la grabación de las voces, entre otros.
Así que es chévere conocer todas esas anécdotas y todo el proceso que llevó crear uno de los mejores video-juegos de la historia.
Cómo ver el documental sobre Half-Life
Lo mejor de todo es que puedes ver este documental sin pagar gracias que lo pusieron en Youtube. Así que lo puedes ver a continuación:
Fue maravilloso revivir buenos recuerdos al ver este documental de Half-Life. Para mí, este juego dejó una impresión duradera, ya que destacaba por su avanzada y única propuesta en comparación con otros títulos de la época.
Si sientes curiosidad por jugarlo, te sugiero probar Black Mesa, un remake realizado por fanáticos. Este proyecto conserva la jugabilidad y la trama originales, pero actualizado con gráficos de última generación. ¡Podría ser una experiencia increíble para revivir la magia de aquel juego en una nueva era!
¿Llegaste a jugar Half-life? ¿Cómo fue tu experiencia? Deja tu comentario.
Si eres un desarrollador de Node.js, es muy probable que utilices nvm para gestionar las diversas versiones de Node en tu equipo. Esta herramienta resulta extremadamente útil al trabajar en varios proyectos, realizar pruebas en diferentes versiones de Node o ejecutar software en una versión específica que difiere de la que normalmente usas o la que viene pre-instalada en tu sistema operativo. Sin embargo, al emplear este servicio, es posible que necesites actualizar npm, y aquí te mostraré cómo hacerlo.
Actualizar NPM
NPM, o Node Package Manager, es la herramienta que se utiliza para gestionar las dependencias de JavaScript de una aplicación. También sirve como el servicio de alojamiento donde se almacenan dichas dependencias.
No obstante, en ocasiones pueden surgir actualizaciones para esta aplicación. Si utilizas NVM (Node Version Manager), actualizar npm no es tan sencillo como con cualquier otra aplicación, ya que su actualización dependerá de cada versión de Node.js instalada.
Por lo tanto, solo necesitas ejecutar este comando:
nvm install-latest-npm
¡Listo! Ya vas a ver como se va a descargar npm a su última versión y va a funcionar con nvm sin problemas.