Blog Bitix
rss github
Java GNU/Linux JavaScript Tapestry Archivo y hemeroteca Enlaces Acerca de...
  • Intentando elegir portátil, NUC o mini ITX para comprar nuevo equipo

    01/04/2018 hardware

    Intel

    AMD

    Ya he comentado que a mi los Mac ni macOS me convencen por varios motivos, por su precio, por el software libre y porque lo que he podido comprobar no me ha parecido que tenga nada de lo que GNU/Linux hoy en día tenga algo que envidiar, algunas cosas en macOS quizá sean algo mejor pero otras en GNU/Linux también en él lo son.

    Tras regalar mi antiguo portátil Sony VAIO ahora estoy buscando nuevo equipo y barajando opciones. El Sony era y es un buen equipo con el que he estado muy contento, tenía un Intel Core i5 3210M Ivy Bridge de 22 nanómetros con dos núcleos y 4 hilos con el bug Meltdown y Spectre, 8 GiB de memoria RAM, almacenamiento SSD de 256 GiB SATA de almacenamiento y una pantalla de resolución 1600x900, la gráfica era un integrada Intel HD 4000 básica pero más que suficiente para un entorno de escritorio y con buen soporte en GNU/Linux por sus controladores de código abierto. Sin embargo, aunque era un portátil lo usaba únicamente como equipo de escritorio sin moverlo en ningún momento y en cuanto a memoria los 8 GiB de memoria sigue siendo perfectamente útiles pero en mi uso en algunos casos se me quedaban cortos al virtualizar o usar varios contenedores Docker.


    Continuar leyendo...

  • Qué es y cómo funciona el type erasure en Java

    31/03/2018 java planeta-codigo programacion

    Los tipos genéricos en Java se implementaron usando type erasure por simplicidad en la implementación, no incurrir en penalizaciones de rendimiento o memoria y por mantener la compatibilidad con versiones anteriores de Java. Son varios los conceptos que están asociados a la implementación de los tipos genéricos en Java que es recomendable conocer como type erasure y métodos bridge de este artículo pero también heap pollution, non-reifiable, wildcards y bound type parameters.
    Continuar leyendo...

  • La herramienta jlink para generar runtimes de Java incluyendo exclusivamente los módulos que usa una aplicación

    24/03/2018 java planeta-codigo programacion

    Java

    En versiones anteriores de Java 9 había un único runtime para ejecutar cualquier aplicación que debía ser instalado previamente para la ejecución de la aplicación. Aunque la aplicación no usase Swing por ser una aplicación web o cosas como CORBA ya en desuso aún estaban disponibles en el runtime por motivos de no romper la compatibilidad con versiones anteriores.

    Esto hacía que las aplicaciones no fuesen lo más eficiente posible y aumenta el tamaño necesario ahora de las imágenes de contenedores como Docker estas tuviesen un tamaño mayor del imprescindible, además de hacer que el tiempo de arranque sea algo mayor e incluir clases que aumentan la superficie de ataque ante un fallo de seguridad. Entre las novedades de Java 8 se añadieron los compact profiles que eran subconjuntos más reducidos del runtime pero eran conjuntos prefijados, las aplicaciones debían usar el mínimo que necesitasen si querían usar alguno. La solución de Java 8 fue una solución intermedia, los módulos de Java 9 han sido la solución completa.


    Continuar leyendo...

  • Novedades de Java 10

    23/03/2018 java planeta-codigo programacion

    Oracle y los ingenieros a cargo del desarrollo de Java están haciendo en mi opinión un buen trabajo que se han materializado en las versiones Java 8 con las lambdas, en Java 9 con los módulos y en Java 10 con la mejora en la inferencia de tipos. Todo ello está haciendo que la plataforma evolucione más rápido y significativamente que lo que hasta hace unos años estábamos acostumbrados.
    Continuar leyendo...

  • Tú con tu Mac, yo con mi GNU/Linux

    17/03/2018 apple gnu-linux microsoft opinion planeta-codigo windows

    macOS

    Windows 10

    GNU

    Linux

    Por motivos laborales y por política de la empresa tuve que elegir como equipo un portátil de Apple, en concreto un MacBook Pro con procesador Intel Core i5, 16 GiB de memoria y 512 GiB de almacenamiento SSD. Prácticamente el mejor portátil que había en su momento en el catálogo de la manzana que tendría un precio seguro más de 2000 € y quizá 2500 €. Este cambio me ha permitido poder comparar con mi propio portátil, un Sony Vaio con procesador Intel Core i5 3210, 8 GiB de memoria y 250 GiB de almacenamiento SSD y la distribución Arch Linux de GNU/Linux.


    Continuar leyendo...

  • 7+ computadoras baratas del tamaño de una tarjeta de crédito basadas en GNU/Linux y ARM

    10/03/2018 gnu-linux hardware planeta-codigo

    Linux

    GNU

    Una de las tendencias de la tecnología desde sus inicios es que en todo momento está en constante evolución y mejora. Cada vez es más potente, más pequeña y más barata. Hay multitud de ejemplos en cualquier dispositivo electrónico que se use para ver su evolución desde discos duros de 5 megas que ocupaban un armario y pesaban varias decenas de kilos a ahora las tarjetas microSD del tamaño de una uña con una capacidad de 256 GiB, de procesadores que en los años 70 funcionaban a una frecuencia de unos pocos megahercios a ahora varios gigahercios, de memorias RAM de unos pocos kilobytes a ahora varios gigabytes, de chips con unos miles de transistores, ya no digamos válvulas de vacío, a varios miles de millones de transistores que emplean ahora las GPU de las tarjetas gráficas.


    Continuar leyendo...

  • El problema de concurrencia del agente y los fumadores resuelto en Java

    05/03/2018 java planeta-codigo programacion

    Java

    Junto con los ejemplos de la cena de los filósofos y la barbería el de los fumadores es otro ejemplo clásico que se estudia en las asignaturas de sistemas operativos. Estos ejemplos necesitan de mecanismos de sincronización y concurrencia para su correcto funcionamiento al haber varios procesos y recursos compartidos que los procesos intentan utilizar de forma concurrente pero que no se debe permitir utilizando notificaciones entre procesos o algunas primitivas de sincronización, concurrencia e hilos que posee Java como mutex, locks o semáforos.


    Continuar leyendo...

  • El problema de concurrencia de la cena de los filósofos resuelto con Java

    25/02/2018 java planeta-codigo programacion

    Java

    En un artículo de introducción sobre la programación concurrente en Java explicaba cuales eran la facilidades que proporciona este lenguaje para la programación concurrente en múltiples hilos. En él exponía dos ejemplos clásicos que se estudian en las asignaturas de sistemas operativos, uno de ellos era el de la cena de los filósofos donde varios filósofos sentados en una tabla durante una cena se dedican a pensar y cuando tienen hambre comen usando para ello dos tenedores que comparten con sus compañeros que se sientan a la izquierda y derecha.


    Continuar leyendo...

  • Consola de juegos retro con Lakka y una Raspberry Pi

    23/02/2018 gnu-linux juegos planeta-codigo software-libre

    El propósito original de las Raspberry Pi era educativo y se ha hecho muy popular debido a su bajo precio y un buen trabajo de marketing. Sin embargo, puede utilizarse para muchos otros propósitos desde aprendizaje a programación, electrónica, servidor de archivos personales, descarga de películas, series y libros con torrent y también como una consola de juegos antiguos de arcade.
    Continuar leyendo...

  • Referencias a grupos de captura en expresiones regulares y reemplazos

    17/02/2018 java planeta-codigo programacion

    Java

    Las expresiones regulares definen un patrón que permite encontrar coincidencias en cadenas de caracteres, reemplazar coincidencias o validar que las cadenas de caracteres cumplen el patrón. Las expresiones regulares son potentes expresiones que resultan útiles en muchos casos pero son expresiones que pueden llegar a ser complejas cuyo uso se aprende con la experiencia. Una de las funcionalidades que poseen es hacer referencia a grupos de captura anteriores en la propia expresión regular o en la cadena de reemplazo.


    Continuar leyendo...

  • Las 6+2 formas normales de las bases de datos relacionales

    10/02/2018 planeta-codigo programacion

    En la universidad se explican las formas normales, en mi caso que yo recuerde hasta la tercera forma normal. Conocer la tercera forma normal suele ser suficiente pero en la teoría existe hasta la sexta forma normal. Cumplir las formas normales evita redundancias e inconsistencias en los datos a costa de crear más tablas que en algunos consultas puede hacerlas lentas. El proceso contrario de la normalización es la desnormalización, puede producir inconsistencias pero los datos son más sencillos y en algunos casos más rápido de consultar.
    Continuar leyendo...

  • 8º aniversario del blog

    06/02/2018 blog planeta-codigo

    Blog Bitix

    Hoy se cumplen 8 años desde que creé y empecé a escribir en un blog, primeramente El blog de pico.dev y más tarde en Blog Bitix. Durante este tiempo he escrito 485 artículos entre ambos blogs, en Blog Bitix ya tengo más artículos escritos y publicados de los que he tenido en El blog de pico.dev. Ocho años ya son una cifra considerable y requiere gran constancia, dedicación, motivación, perseverancia y gran cantidad de tiempo. Muchos blogs no llegan a esta cifra.


    Continuar leyendo...

  • Análisis estático de código con PMD y un ejemplo

    03/02/2018 java planeta-codigo programacion

    PMD

    El mantenimiento de un programa es la parte que más tiempo consume en su desarrollo y realmente son más los proyectos que hay que mantener que los que se empiezan desde cero. Por lo tanto el software se debe diseñar además de para funcionar correctamente y de forma suficientemente eficiente de tal forma que los futuros cambios sean en la medida de lo posible sencillos de realizar. Hay varios motivos por los que un software necesita mantenimiento según sus categorías:


    Continuar leyendo...

  • Conferencia BilboStack 2018

    27/01/2018 planeta-codigo programacion

    A diferencia de los seis años anteriores este la BilboStack ha tenido lugar en el Palacio Euskalduna en vez de la Universidad de Deusto permitiendo un aforo aún mayor que el de la universidad y con unas salas más grandes y butacas más cómodas que las espartanas sillas de la uni en las que igualmente si se ponía atención y luego esfuerzo se aprendían cosas interesantes, muchos hemos pasado varios años en ellas.


    Continuar leyendo...

  • Gestión de peticiones, wiki y pages con GitLab

    20/01/2018 planeta-codigo software software-libre

    GitLab

    Una de las cosas que me gustan de GitLab es que se puede usar en un servidor propio, la otra cosa que me gusta es que incluye varias herramientas casi imprescindibles para cualquier proyecto como gestión de peticiones para recoger las historias, wiki como documentación e información y pages para generar pequeños sitios web además de los repositorios de Git o el servidor de integración y entrega continua. Que GitLab incluya por defecto todas estas herramientas hace innecesario recurrir en la mayoría de los casos a varias herramientas especializadas que cubran estas necesidades como JIRA, Jenkins, MediaWiki o un servidor web para los sitios web.


    Continuar leyendo...

« Más antiguo
Archivo
Más reciente »


Blog Bitix

Blog sobre el lenguaje de programación Java y la distribución GNU/Linux que uso habitualmente, Arch Linux, lo que aprendo sobre el software libre, la programación web y otros temas relacionados con la tecnología y la informática. El contenido puede contener trazas de asuntos fuera de tema.

Publicaba de uno a tres artículos únicos a la semana desde el año 2010.

  • Java
  • GNU/Linux
  • JavaScript
  • Tapestry
  • Archivo y hemeroteca
  • Enlaces
  • Advertising
  • Publicidad
  • Donaciones
  • Política de privacidad
  • Acerca de...
rss github
Copyleft © 2025 - Creative Commons License
Planeta código
Blog Bitix by pico.dev is licensed under a Creative Commons Reconocimiento-CompartirIgual 4.0 Internacional License.
Powered by Hugo and GitHub Pages. Background patterns from Subtle Patterns.